.text:0000000000000000 ; Format : ELF64 for x86-64 (Relocatable) .text:0000000000000000 ; .text:0000000000000000 ; Source File : 'tasks.adb' .text:0000000000000000 .text:0000000000000000 .686p .text:0000000000000000 .mmx .text:0000000000000000 .model flat .text:0000000000000000 .intel_syntax noprefix .text:0000000000000000 .text:0000000000000000 ; =========================================================================== .text:0000000000000000 .text:0000000000000000 ; Segment type: Pure code .text:0000000000000000 ; Segment permissions: Read/Execute .text:0000000000000000 _text segment word public 'CODE' use64 .text:0000000000000000 assume cs:_text .text:0000000000000000 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing .text:0000000000000000 .text:0000000000000000 ; =============== S U B R O U T I N E ======================================= .text:0000000000000000 .text:0000000000000000 ; Attributes: bp-based frame .text:0000000000000000 .text:0000000000000000 public tasks__TtaBIP .text:0000000000000000 tasks__TtaBIP proc near ; CODE XREF: tasks___elabs+3Dp .text:0000000000000000 .text:0000000000000000 var_10 = qword ptr -10h .text:0000000000000000 var_8 = qword ptr -8 .text:0000000000000000 .text:0000000000000000 push rbp .text:0000000000000001 mov rbp, rsp .text:0000000000000004 mov rax, rdi .text:0000000000000007 mov rcx, rsi .text:000000000000000A mov rdx, rcx .text:000000000000000D mov [rbp+var_10], rax .text:0000000000000011 mov [rbp+var_8], rdx .text:0000000000000015 mov rax, [rbp+var_8] .text:0000000000000019 mov eax, [rax] .text:000000000000001B movsxd rsi, eax .text:000000000000001E mov rax, [rbp+var_8] .text:0000000000000022 mov eax, [rax] .text:0000000000000024 mov rdx, [rbp+var_8] .text:0000000000000028 mov edx, [rdx+4] .text:000000000000002B cmp eax, edx .text:000000000000002D jg short loc_4A .text:000000000000002F .text:000000000000002F loc_2F: ; CODE XREF: tasks__TtaBIP+48j .text:000000000000002F mov rcx, [rbp+var_10] .text:0000000000000033 movsxd rdi, eax .text:0000000000000036 sub rdi, rsi .text:0000000000000039 mov qword ptr [rcx+rdi*8], 0 .text:0000000000000041 cmp eax, edx .text:0000000000000043 jz short loc_4A .text:0000000000000045 add eax, 1 .text:0000000000000048 jmp short loc_2F .text:000000000000004A ; --------------------------------------------------------------------------- .text:000000000000004A .text:000000000000004A loc_4A: ; CODE XREF: tasks__TtaBIP+2Dj .text:000000000000004A ; tasks__TtaBIP+43j .text:000000000000004A pop rbp .text:000000000000004B retn .text:000000000000004B tasks__TtaBIP endp .text:000000000000004B .text:000000000000004C .text:000000000000004C ; =============== S U B R O U T I N E ======================================= .text:000000000000004C .text:000000000000004C ; Attributes: bp-based frame .text:000000000000004C .text:000000000000004C public tasks__testtaskVIP .text:000000000000004C tasks__testtaskVIP proc near ; CODE XREF: tasks__create_tasks+1F5p .text:000000000000004C .text:000000000000004C var_80 = qword ptr -80h .text:000000000000004C var_78 = qword ptr -78h .text:000000000000004C var_70 = dword ptr -70h .text:000000000000004C var_68 = qword ptr -68h .text:000000000000004C var_60 = qword ptr -60h .text:000000000000004C var_58 = qword ptr -58h .text:000000000000004C var_50 = qword ptr -50h .text:000000000000004C var_48 = qword ptr -48h .text:000000000000004C var_40 = qword ptr -40h .text:000000000000004C var_38 = qword ptr -38h .text:000000000000004C var_30 = qword ptr -30h .text:000000000000004C var_28 = qword ptr -28h .text:000000000000004C var_1C = dword ptr -1Ch .text:000000000000004C var_18 = qword ptr -18h .text:000000000000004C var_C = dword ptr -0Ch .text:000000000000004C var_8 = qword ptr -8 .text:000000000000004C .text:000000000000004C push rbp .text:000000000000004D mov rbp, rsp .text:0000000000000050 add rsp, 0FFFFFFFFFFFFFF80h .text:0000000000000054 mov [rbp+var_8], rdi .text:0000000000000058 mov [rbp+var_C], esi .text:000000000000005B mov [rbp+var_18], rdx .text:000000000000005F mov rax, rcx .text:0000000000000062 mov rcx, r8 .text:0000000000000065 mov rdx, rcx .text:0000000000000068 mov [rbp+var_30], rax .text:000000000000006C mov [rbp+var_28], rdx .text:0000000000000070 mov [rbp+var_1C], r9d .text:0000000000000074 mov rax, [rbp+var_8] .text:0000000000000078 mov edx, [rbp+var_1C] .text:000000000000007B mov [rax], edx .text:000000000000007D mov rax, [rbp+var_8] .text:0000000000000081 mov qword ptr [rax+8], 0 .text:0000000000000089 mov rax, [rbp+var_8] .text:000000000000008D mov rax, [rax+8] .text:0000000000000091 mov rcx, [rbp+var_8] .text:0000000000000095 mov r10d, 0 .text:000000000000009B mov r11d, offset unk_E9C .text:00000000000000A1 mov esi, cs:tasks__testtaskZ .text:00000000000000A7 mov [rsp+80h+var_38], rax .text:00000000000000AC mov rax, [rbp+var_30] .text:00000000000000B0 mov rdx, [rbp+var_28] .text:00000000000000B4 mov [rsp+80h+var_48], rax .text:00000000000000B9 mov [rsp+80h+var_40], rdx .text:00000000000000BE mov rax, [rbp+var_18] .text:00000000000000C2 mov [rsp+80h+var_50], rax .text:00000000000000C7 mov [rsp+80h+var_58], offset tasks__testtaskE .text:00000000000000D0 mov [rsp+80h+var_60], rcx .text:00000000000000D5 mov [rsp+80h+var_68], offset tasks__testtaskTB .text:00000000000000DE mov eax, [rbp+var_C] .text:00000000000000E1 mov [rsp+80h+var_70], eax .text:00000000000000E5 mov [rsp+80h+var_80], r10 .text:00000000000000E9 mov [rsp+80h+var_78], r11 .text:00000000000000EE mov r9d, 0 .text:00000000000000F4 mov r8d, 0 .text:00000000000000FA mov ecx, 0FFFFFFFFh .text:00000000000000FF mov edx, 0 .text:0000000000000104 mov edi, 0FFFFFFFFh .text:0000000000000109 call system__tasking__stages__create_task .text:000000000000010E mov rdx, rax .text:0000000000000111 mov rax, [rbp+var_8] .text:0000000000000115 mov [rax+8], rdx .text:0000000000000119 leave .text:000000000000011A retn .text:000000000000011A tasks__testtaskVIP endp .text:000000000000011A .text:000000000000011A ; --------------------------------------------------------------------------- .text:000000000000011B align 4 .text:000000000000011C .text:000000000000011C ; =============== S U B R O U T I N E ======================================= .text:000000000000011C .text:000000000000011C ; Attributes: bp-based frame .text:000000000000011C .text:000000000000011C tasks__testtask___finalizer_3724 proc near ; CODE XREF: sub_1DC+2Ep .text:000000000000011C .text:000000000000011C var_8 = qword ptr -8 .text:000000000000011C .text:000000000000011C push rbp .text:000000000000011D mov rbp, rsp .text:0000000000000120 sub rsp, 10h .text:0000000000000124 mov [rbp+var_8], r10 .text:0000000000000128 mov rax, qword ptr cs:system__soft_links__abort_defer .text:000000000000012F call rax ; system__soft_links__abort_defer .text:0000000000000131 call system__tasking__stages__complete_task .text:0000000000000136 mov rax, qword ptr cs:system__soft_links__abort_undefer .text:000000000000013D call rax ; system__soft_links__abort_undefer .text:000000000000013F leave .text:0000000000000140 retn .text:0000000000000140 tasks__testtask___finalizer_3724 endp .text:0000000000000140 .text:0000000000000140 ; --------------------------------------------------------------------------- .text:0000000000000141 align 2 .text:0000000000000142 .text:0000000000000142 ; =============== S U B R O U T I N E ======================================= .text:0000000000000142 .text:0000000000000142 ; Attributes: noreturn bp-based frame .text:0000000000000142 .text:0000000000000142 public tasks__testtaskTB .text:0000000000000142 tasks__testtaskTB proc near ; DATA XREF: tasks__testtaskVIP+89o .text:0000000000000142 .text:0000000000000142 var_B0 = byte ptr -0B0h .text:0000000000000142 var_A8 = dword ptr -0A8h .text:0000000000000142 var_80 = qword ptr -80h .text:0000000000000142 var_78 = qword ptr -78h .text:0000000000000142 var_70 = byte ptr -70h .text:0000000000000142 var_48 = qword ptr -48h .text:0000000000000142 var_40 = qword ptr -40h .text:0000000000000142 var_31 = byte ptr -31h .text:0000000000000142 var_30 = byte ptr -30h .text:0000000000000142 arg_0 = byte ptr 10h .text:0000000000000142 .text:0000000000000142 push rbp .text:0000000000000143 mov rbp, rsp .text:0000000000000146 push r15 .text:0000000000000148 push r14 .text:000000000000014A push r13 .text:000000000000014C push r12 .text:000000000000014E push rbx .text:000000000000014F sub rsp, 98h .text:0000000000000156 mov [rbp+var_48], rdi .text:000000000000015A mov [rbp+var_80], offset __gnat_personality_sj0 .text:0000000000000162 mov [rbp+var_78], offset unk_F04 .text:000000000000016A lea rax, [rbp+var_70] .text:000000000000016E lea rcx, [rbp+var_30] .text:0000000000000172 mov [rax], rcx .text:0000000000000175 mov edx, offset sub_1DC .text:000000000000017A mov [rax+8], rdx .text:000000000000017E mov [rax+10h], rsp .text:0000000000000182 lea rax, [rbp+var_B0] .text:0000000000000189 mov rdi, rax .text:000000000000018C call _Unwind_SjLj_Register .text:0000000000000191 lea rax, [rbp+arg_0] .text:0000000000000195 mov [rbp+var_40], rax .text:0000000000000199 cmp [rbp+var_48], 0 .text:000000000000019E jnz short loc_1BE .text:00000000000001A0 mov [rbp+var_A8], 0FFFFFFFFh .text:00000000000001AA mov esi, 4 .text:00000000000001AF mov edi, offset aTasks_adb ; "tasks.adb" .text:00000000000001B4 mov eax, 0 .text:00000000000001B9 call __gnat_rcheck_CE_Access_Check .text:00000000000001BE .text:00000000000001BE loc_1BE: ; CODE XREF: tasks__testtaskTB+5Cj .text:00000000000001BE mov rax, qword ptr cs:system__soft_links__abort_undefer .text:00000000000001C5 mov [rbp+var_A8], 1 .text:00000000000001CF call rax ; system__soft_links__abort_undefer .text:00000000000001D1 call system__tasking__stages__complete_activation .text:00000000000001D6 .text:00000000000001D6 loc_1D6: ; CODE XREF: tasks__testtaskTB+98j .text:00000000000001D6 mov [rbp+var_31], 1 .text:00000000000001DA jmp short loc_1D6 .text:00000000000001DA tasks__testtaskTB endp .text:00000000000001DA .text:00000000000001DC .text:00000000000001DC ; =============== S U B R O U T I N E ======================================= .text:00000000000001DC .text:00000000000001DC .text:00000000000001DC sub_1DC proc near ; DATA XREF: tasks__testtaskTB+33o .text:00000000000001DC lea rbp, [rbp+30h] .text:00000000000001E0 mov rax, [rbp-0A0h] .text:00000000000001E7 mov [rbp-0C0h], rax .text:00000000000001EE mov dword ptr [rbp-0B4h], 1 .text:00000000000001F8 nop .text:00000000000001F9 lea rax, [rbp-40h] .text:00000000000001FD mov r10, rax .text:0000000000000200 mov dword ptr [rbp-0A8h], 0FFFFFFFFh .text:000000000000020A call tasks__testtask___finalizer_3724 .text:000000000000020F cmp dword ptr [rbp-0B4h], 1 .text:0000000000000216 jnz short loc_231 .text:0000000000000218 mov rax, [rbp-0C0h] .text:000000000000021F mov dword ptr [rbp-0A8h], 0FFFFFFFFh .text:0000000000000229 mov rdi, rax .text:000000000000022C call _Unwind_SjLj_Resume .text:0000000000000231 ; --------------------------------------------------------------------------- .text:0000000000000231 .text:0000000000000231 loc_231: ; CODE XREF: sub_1DC+3Aj .text:0000000000000231 nop .text:0000000000000232 lea rax, [rbp-0B0h] .text:0000000000000239 mov rdi, rax .text:000000000000023C call _Unwind_SjLj_Unregister .text:0000000000000241 add rsp, 98h .text:0000000000000248 pop rbx .text:0000000000000249 pop r12 .text:000000000000024B pop r13 .text:000000000000024D pop r14 .text:000000000000024F pop r15 .text:0000000000000251 pop rbp .text:0000000000000252 retn .text:0000000000000252 sub_1DC endp ; sp-analysis failed .text:0000000000000252 .text:0000000000000252 ; --------------------------------------------------------------------------- .text:0000000000000253 align 4 .text:0000000000000254 .text:0000000000000254 ; =============== S U B R O U T I N E ======================================= .text:0000000000000254 .text:0000000000000254 ; Attributes: bp-based frame .text:0000000000000254 .text:0000000000000254 tasks__create_tasks__L_2__A12b___finalizer_3755 proc near .text:0000000000000254 ; CODE XREF: tasks__create_tasks+22Bp .text:0000000000000254 .text:0000000000000254 var_18 = qword ptr -18h .text:0000000000000254 .text:0000000000000254 push rbp .text:0000000000000255 mov rbp, rsp .text:0000000000000258 push rbx .text:0000000000000259 sub rsp, 18h .text:000000000000025D mov rbx, r10 .text:0000000000000260 mov [rbp+var_18], r10 .text:0000000000000264 lea rax, [rbx+10h] .text:0000000000000268 mov rdi, rax .text:000000000000026B call system__tasking__stages__expunge_unactivated_tasks .text:0000000000000270 mov rdx, [rbx] .text:0000000000000273 mov rax, [rbx+8] .text:0000000000000277 mov rdi, rdx .text:000000000000027A mov rsi, rax .text:000000000000027D call system__secondary_stack__ss_release .text:0000000000000282 add rsp, 18h .text:0000000000000286 pop rbx .text:0000000000000287 pop rbp .text:0000000000000288 retn .text:0000000000000288 tasks__create_tasks__L_2__A12b___finalizer_3755 endp .text:0000000000000288 .text:0000000000000288 ; --------------------------------------------------------------------------- .text:0000000000000289 align 2 .text:000000000000028A .text:000000000000028A ; =============== S U B R O U T I N E ======================================= .text:000000000000028A .text:000000000000028A ; Attributes: bp-based frame .text:000000000000028A .text:000000000000028A public tasks__create_tasks .text:000000000000028A tasks__create_tasks proc near .text:000000000000028A .text:000000000000028A var_148 = qword ptr -148h .text:000000000000028A var_140 = qword ptr -140h .text:000000000000028A var_138 = qword ptr -138h .text:000000000000028A var_130 = qword ptr -130h .text:000000000000028A var_128 = qword ptr -128h .text:000000000000028A var_120 = byte ptr -120h .text:000000000000028A var_118 = dword ptr -118h .text:000000000000028A var_110 = qword ptr -110h .text:000000000000028A var_F0 = qword ptr -0F0h .text:000000000000028A var_E8 = qword ptr -0E8h .text:000000000000028A var_E0 = byte ptr -0E0h .text:000000000000028A var_B8 = dword ptr -0B8h .text:000000000000028A var_B4 = dword ptr -0B4h .text:000000000000028A var_B0 = qword ptr -0B0h .text:000000000000028A var_A8 = qword ptr -0A8h .text:000000000000028A var_A0 = qword ptr -0A0h .text:000000000000028A var_98 = qword ptr -98h .text:000000000000028A var_88 = dword ptr -88h .text:000000000000028A var_80 = qword ptr -80h .text:000000000000028A var_70 = dword ptr -70h .text:000000000000028A var_6C = dword ptr -6Ch .text:000000000000028A var_60 = qword ptr -60h .text:000000000000028A var_58 = qword ptr -58h .text:000000000000028A var_50 = qword ptr -50h .text:000000000000028A var_44 = dword ptr -44h .text:000000000000028A var_40 = dword ptr -40h .text:000000000000028A var_3C = dword ptr -3Ch .text:000000000000028A var_38 = dword ptr -38h .text:000000000000028A var_34 = dword ptr -34h .text:000000000000028A var_30 = byte ptr -30h .text:000000000000028A arg_0 = byte ptr 10h .text:000000000000028A .text:000000000000028A push rbp .text:000000000000028B mov rbp, rsp .text:000000000000028E push r15 .text:0000000000000290 push r14 .text:0000000000000292 push r13 .text:0000000000000294 push r12 .text:0000000000000296 push rbx .text:0000000000000297 sub rsp, 128h .text:000000000000029E mov [rbp+var_B4], edi .text:00000000000002A4 mov [rbp+var_F0], offset __gnat_personality_sj0 .text:00000000000002AF mov [rbp+var_E8], offset unk_F0A .text:00000000000002BA lea rax, [rbp+var_E0] .text:00000000000002C1 lea rbx, [rbp+var_30] .text:00000000000002C5 mov [rax], rbx .text:00000000000002C8 mov edx, offset loc_520 .text:00000000000002CD mov [rax+8], rdx .text:00000000000002D1 mov [rax+10h], rsp .text:00000000000002D5 lea rax, [rbp+var_120] .text:00000000000002DC mov rdi, rax .text:00000000000002DF call _Unwind_SjLj_Register .text:00000000000002E4 lea rax, [rbp+arg_0] .text:00000000000002E8 mov [rbp+var_80], rax .text:00000000000002EC mov eax, [rbp+var_B4] .text:00000000000002F2 mov [rbp+var_34], eax .text:00000000000002F5 mov eax, 1 .text:00000000000002FA mov [rbp+var_88], eax .text:0000000000000300 .text:0000000000000300 loc_300: ; CODE XREF: tasks__create_tasks+26Ej .text:0000000000000300 mov edx, [rbp+var_34] .text:0000000000000303 mov eax, [rbp+var_88] .text:0000000000000309 cmp edx, eax .text:000000000000030B jl loc_56B .text:0000000000000311 mov [rbp+var_118], 0FFFFFFFFh .text:000000000000031B mov edi, 10h .text:0000000000000320 mov eax, 0 .text:0000000000000325 call __gnat_malloc .text:000000000000032A mov [rbp+var_128], rax .text:0000000000000331 mov [rbp+var_118], 1 .text:000000000000033B call system__secondary_stack__ss_mark .text:0000000000000340 mov [rbp+var_A0], rax .text:0000000000000347 mov [rbp+var_98], rdx .text:000000000000034E lea rax, [rbp+var_A0] .text:0000000000000355 mov r10, rax .text:0000000000000358 mov [rbp+var_118], 2 .text:0000000000000362 call tasks__create_tasks__L_2__A12b__F11b_3763 .text:0000000000000367 mov [rbp+var_B0], rax .text:000000000000036E mov [rbp+var_A8], rdx .text:0000000000000375 mov rax, [rbp+var_A8] .text:000000000000037C mov eax, [rax] .text:000000000000037E mov [rbp+var_38], eax .text:0000000000000381 mov rax, [rbp+var_A8] .text:0000000000000388 mov eax, [rax+4] .text:000000000000038B mov [rbp+var_3C], eax .text:000000000000038E mov eax, [rbp+var_38] .text:0000000000000391 mov [rbp+var_40], eax .text:0000000000000394 mov eax, [rbp+var_3C] .text:0000000000000397 mov [rbp+var_44], eax .text:000000000000039A mov eax, [rbp+var_40] .text:000000000000039D cdqe .text:000000000000039F mov [rbp+var_50], rax .text:00000000000003A3 mov eax, [rbp+var_44] .text:00000000000003A6 cmp eax, [rbp+var_40] .text:00000000000003A9 jl short loc_3B6 .text:00000000000003AB mov eax, [rbp+var_44] .text:00000000000003AE cdqe .text:00000000000003B0 mov [rbp+var_58], rax .text:00000000000003B4 jmp short loc_3C3 .text:00000000000003B6 ; --------------------------------------------------------------------------- .text:00000000000003B6 .text:00000000000003B6 loc_3B6: ; CODE XREF: tasks__create_tasks+11Fj .text:00000000000003B6 mov eax, [rbp+var_40] .text:00000000000003B9 cdqe .text:00000000000003BB sub rax, 1 .text:00000000000003BF mov [rbp+var_58], rax .text:00000000000003C3 .text:00000000000003C3 loc_3C3: ; CODE XREF: tasks__create_tasks+12Aj .text:00000000000003C3 mov eax, [rbp+var_3C] .text:00000000000003C6 cmp eax, [rbp+var_38] .text:00000000000003C9 jl short loc_3EF .text:00000000000003CB cmp [rbp+var_38], 0 .text:00000000000003CF jg short loc_3EF .text:00000000000003D1 mov [rbp+var_118], 2 .text:00000000000003DB mov esi, 0Fh .text:00000000000003E0 mov edi, offset aTasks_adb ; "tasks.adb" .text:00000000000003E5 mov eax, 0 .text:00000000000003EA call __gnat_rcheck_CE_Range_Check .text:00000000000003EF .text:00000000000003EF loc_3EF: ; CODE XREF: tasks__create_tasks+13Fj .text:00000000000003EF ; tasks__create_tasks+145j .text:00000000000003EF mov rax, [rbp+var_B0] .text:00000000000003F6 mov [rbp+var_60], rax .text:00000000000003FA lea rax, [rbp+var_A0] .text:0000000000000401 add rax, 10h .text:0000000000000405 mov [rbp+var_118], 2 .text:000000000000040F mov rdi, rax .text:0000000000000412 call system__tasking__activation_chainIP .text:0000000000000417 mov eax, [rbp+var_88] .text:000000000000041D mov r8d, eax .text:0000000000000420 mov rax, [rbp+var_B0] .text:0000000000000427 mov [rbp+var_140], rax .text:000000000000042E mov eax, [rbp+var_40] .text:0000000000000431 mov [rbp+var_70], eax .text:0000000000000434 mov eax, [rbp+var_44] .text:0000000000000437 mov [rbp+var_6C], eax .text:000000000000043A lea rax, [rbp+var_70] .text:000000000000043E mov [rbp+var_138], rax .text:0000000000000445 mov eax, cs:tasks___master .text:000000000000044B mov rdx, [rbp+var_140] .text:0000000000000452 mov rcx, [rbp+var_138] .text:0000000000000459 mov rsi, rdx .text:000000000000045C mov rdi, rcx .text:000000000000045F mov rdi, rcx .text:0000000000000462 lea rdx, [rbp+var_A0] .text:0000000000000469 add rdx, 10h .text:000000000000046D mov r9d, r8d .text:0000000000000470 mov rcx, rsi .text:0000000000000473 mov r8, rdi .text:0000000000000476 mov esi, eax .text:0000000000000478 mov rdi, [rbp+var_128] .text:000000000000047F call tasks__testtaskVIP .text:0000000000000484 lea rax, [rbp+var_A0] .text:000000000000048B add rax, 10h .text:000000000000048F mov rdi, rax .text:0000000000000492 call system__tasking__stages__activate_tasks .text:0000000000000497 mov [rbp+var_B8], 1 .text:00000000000004A1 .text:00000000000004A1 loc_4A1: ; CODE XREF: tasks__create_tasks+284j .text:00000000000004A1 lea rax, [rbp+var_A0] .text:00000000000004A8 mov r10, rax .text:00000000000004AB mov [rbp+var_118], 1 .text:00000000000004B5 call tasks__create_tasks__L_2__A12b___finalizer_3755 .text:00000000000004BA cmp [rbp+var_B8], 1 .text:00000000000004C1 jnz short loc_510 .text:00000000000004C3 nop .text:00000000000004C4 mov eax, 1 .text:00000000000004C9 .text:00000000000004C9 loc_4C9: ; CODE XREF: tasks__create_tasks+2C3j .text:00000000000004C9 cmp eax, 1 .text:00000000000004CC jnz loc_552 .text:00000000000004D2 mov eax, [rbp+var_88] .text:00000000000004D8 cdqe .text:00000000000004DA mov rbx, [rbp+var_128] .text:00000000000004E1 mov ds:qword_E78[rax*8], rbx .text:00000000000004E9 mov eax, [rbp+var_88] .text:00000000000004EF add eax, 1 .text:00000000000004F2 mov [rbp+var_88], eax .text:00000000000004F8 jmp loc_300 .text:00000000000004FD ; --------------------------------------------------------------------------- .text:00000000000004FD .text:00000000000004FD loc_4FD: ; CODE XREF: tasks__create_tasks+2B0j .text:00000000000004FD mov [rbp+var_148], rdx .text:0000000000000504 mov [rbp+var_B8], 0 .text:000000000000050E jmp short loc_4A1 .text:0000000000000510 ; --------------------------------------------------------------------------- .text:0000000000000510 .text:0000000000000510 loc_510: ; CODE XREF: tasks__create_tasks+237j .text:0000000000000510 mov rax, [rbp+var_148] .text:0000000000000517 mov [rbp+var_130], rax .text:000000000000051E jmp short loc_548 .text:0000000000000520 ; --------------------------------------------------------------------------- .text:0000000000000520 .text:0000000000000520 loc_520: ; DATA XREF: tasks__create_tasks+3Eo .text:0000000000000520 lea rbp, [rbp+30h] .text:0000000000000524 mov rdx, [rbp+var_110] .text:000000000000052B mov eax, [rbp+var_118] .text:0000000000000531 test eax, eax .text:0000000000000533 jz short loc_541 .text:0000000000000535 sub eax, 1 .text:0000000000000538 test eax, eax .text:000000000000053A jz short loc_4FD .text:000000000000053C sub eax, 1 .text:000000000000053F ud2 .text:0000000000000541 ; --------------------------------------------------------------------------- .text:0000000000000541 .text:0000000000000541 loc_541: ; CODE XREF: tasks__create_tasks+2A9j .text:0000000000000541 mov [rbp+var_130], rdx .text:0000000000000548 .text:0000000000000548 loc_548: ; CODE XREF: tasks__create_tasks+294j .text:0000000000000548 mov eax, 0 .text:000000000000054D jmp loc_4C9 .text:0000000000000552 ; --------------------------------------------------------------------------- .text:0000000000000552 .text:0000000000000552 loc_552: ; CODE XREF: tasks__create_tasks+242j .text:0000000000000552 mov rax, [rbp+var_130] .text:0000000000000559 mov [rbp+var_118], 0FFFFFFFFh .text:0000000000000563 mov rdi, rax .text:0000000000000566 call _Unwind_SjLj_Resume .text:000000000000056B ; --------------------------------------------------------------------------- .text:000000000000056B .text:000000000000056B loc_56B: ; CODE XREF: tasks__create_tasks+81j .text:000000000000056B nop .text:000000000000056C lea rax, [rbp+var_120] .text:0000000000000573 mov rdi, rax .text:0000000000000576 call _Unwind_SjLj_Unregister .text:000000000000057B add rsp, 128h .text:0000000000000582 pop rbx .text:0000000000000583 pop r12 .text:0000000000000585 pop r13 .text:0000000000000587 pop r14 .text:0000000000000589 pop r15 .text:000000000000058B pop rbp .text:000000000000058C retn .text:000000000000058C tasks__create_tasks endp .text:000000000000058C .text:000000000000058C ; --------------------------------------------------------------------------- .text:000000000000058D align 2 .text:000000000000058E .text:000000000000058E ; =============== S U B R O U T I N E ======================================= .text:000000000000058E .text:000000000000058E ; Attributes: bp-based frame .text:000000000000058E .text:000000000000058E tasks__create_tasks__L_2__A12b__F11b_3763 proc near .text:000000000000058E ; CODE XREF: tasks__create_tasks+D8p .text:000000000000058E .text:000000000000058E var_60 = qword ptr -60h .text:000000000000058E var_58 = qword ptr -58h .text:000000000000058E src = byte ptr -50h .text:000000000000058E var_40 = qword ptr -40h .text:000000000000058E dest = qword ptr -38h .text:000000000000058E .text:000000000000058E push rbp .text:000000000000058F mov rbp, rsp .text:0000000000000592 push r15 .text:0000000000000594 push r14 .text:0000000000000596 push r13 .text:0000000000000598 push r12 .text:000000000000059A push rbx .text:000000000000059B sub rsp, 38h .text:000000000000059F mov rsi, r10 .text:00000000000005A2 mov [rbp+var_58], r10 .text:00000000000005A6 mov rcx, rsp .text:00000000000005A9 mov [rbp+var_60], rcx .text:00000000000005AD lea rcx, [rbp+src] .text:00000000000005B1 mov rax, rcx .text:00000000000005B4 mov edx, offset unk_EB0 .text:00000000000005B9 mov ecx, [rsi+18h] .text:00000000000005BC mov rsi, rax .text:00000000000005BF mov rdi, rdx .text:00000000000005C2 mov rax, rdx .text:00000000000005C5 mov rdx, rax .text:00000000000005C8 mov edi, ecx .text:00000000000005CA call system__img_int__image_integer .text:00000000000005CF mov r12d, eax .text:00000000000005D2 mov eax, r12d .text:00000000000005D5 mov edx, 0 .text:00000000000005DA test eax, eax .text:00000000000005DC cmovs eax, edx .text:00000000000005DF movsxd rcx, eax .text:00000000000005E2 mov eax, r12d .text:00000000000005E5 mov edx, 0 .text:00000000000005EA test eax, eax .text:00000000000005EC cmovs eax, edx .text:00000000000005EF cdqe .text:00000000000005F1 mov edx, 10h .text:00000000000005F6 sub rdx, 1 .text:00000000000005FA add rax, rdx .text:00000000000005FD mov ebx, 10h .text:0000000000000602 mov edx, 0 .text:0000000000000607 div rbx .text:000000000000060A imul rax, 10h .text:000000000000060E sub rsp, rax .text:0000000000000611 mov rax, rsp .text:0000000000000614 add rax, 0 .text:0000000000000618 mov [rbp+dest], rax .text:000000000000061C mov rdx, [rbp+dest] .text:0000000000000620 lea rax, [rbp+src] .text:0000000000000624 mov rdi, rdx ; dest .text:0000000000000627 mov rdx, rcx ; n .text:000000000000062A mov rsi, rax ; src .text:000000000000062D call memcpy .text:0000000000000632 mov eax, r12d .text:0000000000000635 cmp eax, 7FFFFFFCh .text:000000000000063A jle short loc_650 .text:000000000000063C mov esi, 0Fh .text:0000000000000641 mov edi, offset aTasks_adb ; "tasks.adb" .text:0000000000000646 mov eax, 0 .text:000000000000064B call __gnat_rcheck_CE_Overflow_Check .text:0000000000000650 .text:0000000000000650 loc_650: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+ACj .text:0000000000000650 mov eax, r12d .text:0000000000000653 mov edx, 0 .text:0000000000000658 test eax, eax .text:000000000000065A cmovs eax, edx .text:000000000000065D lea ebx, [rax+3] .text:0000000000000660 mov eax, 0 .text:0000000000000665 test ebx, ebx .text:0000000000000667 cmovns eax, ebx .text:000000000000066A movsxd r15, eax .text:000000000000066D mov eax, 0 .text:0000000000000672 test ebx, ebx .text:0000000000000674 cmovns eax, ebx .text:0000000000000677 cdqe .text:0000000000000679 mov edx, 10h .text:000000000000067E sub rdx, 1 .text:0000000000000682 add rax, rdx .text:0000000000000685 mov ecx, 10h .text:000000000000068A mov edx, 0 .text:000000000000068F div rcx .text:0000000000000692 imul rax, 10h .text:0000000000000696 sub rsp, rax .text:0000000000000699 mov rax, rsp .text:000000000000069C add rax, 0 .text:00000000000006A0 mov [rbp+var_40], rax .text:00000000000006A4 test ebx, ebx .text:00000000000006A6 jg short loc_6BC .text:00000000000006A8 mov esi, 0Fh .text:00000000000006AD mov edi, offset aTasks_adb ; "tasks.adb" .text:00000000000006B2 mov eax, 0 .text:00000000000006B7 call __gnat_rcheck_CE_Range_Check .text:00000000000006BC .text:00000000000006BC loc_6BC: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+118j .text:00000000000006BC mov rax, [rbp+var_40] .text:00000000000006C0 mov byte ptr [rax], 61h ; 'a' .text:00000000000006C3 cmp ebx, 1 .text:00000000000006C6 jg short loc_6DC .text:00000000000006C8 mov esi, 0Fh .text:00000000000006CD mov edi, offset aTasks_adb ; "tasks.adb" .text:00000000000006D2 mov eax, 0 .text:00000000000006D7 call __gnat_rcheck_CE_Index_Check .text:00000000000006DC .text:00000000000006DC loc_6DC: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+138j .text:00000000000006DC mov rax, [rbp+var_40] .text:00000000000006E0 mov byte ptr [rax+1], 28h ; '(' .text:00000000000006E4 mov eax, r12d .text:00000000000006E7 test eax, eax .text:00000000000006E9 jle short loc_713 .text:00000000000006EB mov eax, r12d .text:00000000000006EE mov edx, 0 .text:00000000000006F3 test eax, eax .text:00000000000006F5 cmovs eax, edx .text:00000000000006F8 add eax, 1 .text:00000000000006FB cmp eax, ebx .text:00000000000006FD jl short loc_713 .text:00000000000006FF mov esi, 0Fh .text:0000000000000704 mov edi, offset aTasks_adb ; "tasks.adb" .text:0000000000000709 mov eax, 0 .text:000000000000070E call __gnat_rcheck_CE_Range_Check .text:0000000000000713 .text:0000000000000713 loc_713: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+15Bj .text:0000000000000713 ; tasks__create_tasks__L_2__A12b__F11b_3763+16Fj .text:0000000000000713 mov eax, r12d .text:0000000000000716 cmp eax, 7FFFFFFCh .text:000000000000071B jle short loc_731 .text:000000000000071D mov esi, 0Fh .text:0000000000000722 mov edi, offset aTasks_adb ; "tasks.adb" .text:0000000000000727 mov eax, 0 .text:000000000000072C call __gnat_rcheck_CE_Overflow_Check .text:0000000000000731 .text:0000000000000731 loc_731: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+18Dj .text:0000000000000731 mov eax, r12d .text:0000000000000734 mov edx, 0 .text:0000000000000739 test eax, eax .text:000000000000073B cmovs eax, edx .text:000000000000073E add eax, 2 .text:0000000000000741 mov edx, 2 .text:0000000000000746 cmp eax, 2 .text:0000000000000749 cmovge edx, eax .text:000000000000074C movsxd rdx, edx .text:000000000000074F lea rcx, [rdx-2] .text:0000000000000753 cmp eax, 2 .text:0000000000000756 jle short loc_760 .text:0000000000000758 cdqe .text:000000000000075A lea rdx, [rax-2] .text:000000000000075E jmp short loc_765 .text:0000000000000760 ; --------------------------------------------------------------------------- .text:0000000000000760 .text:0000000000000760 loc_760: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+1C8j .text:0000000000000760 mov edx, 0 .text:0000000000000765 .text:0000000000000765 loc_765: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+1D0j .text:0000000000000765 mov eax, r12d .text:0000000000000768 mov esi, 0 .text:000000000000076D test eax, eax .text:000000000000076F cmovs eax, esi .text:0000000000000772 cdqe .text:0000000000000774 cmp rdx, rax .text:0000000000000777 jz short loc_78D .text:0000000000000779 mov esi, 0Fh .text:000000000000077E mov edi, offset aTasks_adb ; "tasks.adb" .text:0000000000000783 mov eax, 0 .text:0000000000000788 call __gnat_rcheck_CE_Length_Check .text:000000000000078D .text:000000000000078D loc_78D: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+1E9j .text:000000000000078D mov rax, [rbp+var_40] .text:0000000000000791 lea rdx, [rax+2] .text:0000000000000795 mov rax, [rbp+dest] .text:0000000000000799 mov rdi, rdx ; dest .text:000000000000079C mov rdx, rcx ; n .text:000000000000079F mov rsi, rax ; src .text:00000000000007A2 call memcpy .text:00000000000007A7 test ebx, ebx .text:00000000000007A9 jg short loc_7BF .text:00000000000007AB mov esi, 0Fh .text:00000000000007B0 mov edi, offset aTasks_adb ; "tasks.adb" .text:00000000000007B5 mov eax, 0 .text:00000000000007BA call __gnat_rcheck_CE_Index_Check .text:00000000000007BF .text:00000000000007BF loc_7BF: ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+21Bj .text:00000000000007BF movsxd rax, ebx .text:00000000000007C2 mov rdx, [rbp+var_40] .text:00000000000007C6 mov byte ptr [rdx+rax-1], 29h ; ')' .text:00000000000007CB mov eax, 0 .text:00000000000007D0 test ebx, ebx .text:00000000000007D2 cmovns eax, ebx .text:00000000000007D5 cdqe .text:00000000000007D7 add rax, 0Bh .text:00000000000007DB and rax, 0FFFFFFFFFFFFFFFCh .text:00000000000007DF mov rdi, rax .text:00000000000007E2 call system__secondary_stack__ss_allocate .text:00000000000007E7 mov r12, rax .text:00000000000007EA mov rax, r12 .text:00000000000007ED mov dword ptr [rax], 1 .text:00000000000007F3 mov [rax+4], ebx .text:00000000000007F6 lea rdx, [rax+8] .text:00000000000007FA mov rax, [rbp+var_40] .text:00000000000007FE mov rcx, rdx .text:0000000000000801 mov rdx, r15 ; n .text:0000000000000804 mov rsi, rax ; src .text:0000000000000807 mov rdi, rcx ; dest .text:000000000000080A call memcpy .text:000000000000080F mov rax, r12 .text:0000000000000812 add rax, 8 .text:0000000000000816 mov r13, rax .text:0000000000000819 mov rax, r12 .text:000000000000081C mov r14, rax .text:000000000000081F mov rsp, [rbp+var_60] .text:0000000000000823 mov rax, r13 .text:0000000000000826 mov rdx, r14 .text:0000000000000829 lea rsp, [rbp-28h] .text:000000000000082D pop rbx .text:000000000000082E pop r12 .text:0000000000000830 pop r13 .text:0000000000000832 pop r14 .text:0000000000000834 pop r15 .text:0000000000000836 pop rbp .text:0000000000000837 retn .text:0000000000000837 tasks__create_tasks__L_2__A12b__F11b_3763 endp .text:0000000000000837 .text:0000000000000838 .text:0000000000000838 ; =============== S U B R O U T I N E ======================================= .text:0000000000000838 .text:0000000000000838 ; Attributes: bp-based frame .text:0000000000000838 .text:0000000000000838 public tasks__abort_tasks .text:0000000000000838 tasks__abort_tasks proc near .text:0000000000000838 .text:0000000000000838 var_1C0 = xmmword ptr -1C0h .text:0000000000000838 var_1B0 = byte ptr -1B0h .text:0000000000000838 var_1A8 = qword ptr -1A8h .text:0000000000000838 var_1A0 = qword ptr -1A0h .text:0000000000000838 var_198 = qword ptr -198h .text:0000000000000838 var_190 = xmmword ptr -190h .text:0000000000000838 var_180 = qword ptr -180h .text:0000000000000838 var_178 = qword ptr -178h .text:0000000000000838 var_170 = qword ptr -170h .text:0000000000000838 var_168 = qword ptr -168h .text:0000000000000838 var_160 = qword ptr -160h .text:0000000000000838 var_158 = qword ptr -158h .text:0000000000000838 var_150 = qword ptr -150h .text:0000000000000838 var_148 = qword ptr -148h .text:0000000000000838 var_140 = qword ptr -140h .text:0000000000000838 var_138 = qword ptr -138h .text:0000000000000838 var_130 = xmmword ptr -130h .text:0000000000000838 var_120 = qword ptr -120h .text:0000000000000838 var_118 = qword ptr -118h .text:0000000000000838 var_110 = qword ptr -110h .text:0000000000000838 var_108 = qword ptr -108h .text:0000000000000838 var_100 = qword ptr -100h .text:0000000000000838 var_F8 = qword ptr -0F8h .text:0000000000000838 var_F0 = byte ptr -0F0h .text:0000000000000838 var_E0 = byte ptr -0E0h .text:0000000000000838 var_D0 = qword ptr -0D0h .text:0000000000000838 var_C0 = dword ptr -0C0h .text:0000000000000838 var_BC = dword ptr -0BCh .text:0000000000000838 var_B0 = dword ptr -0B0h .text:0000000000000838 var_AC = dword ptr -0ACh .text:0000000000000838 var_A0 = dword ptr -0A0h .text:0000000000000838 var_9C = dword ptr -9Ch .text:0000000000000838 var_90 = dword ptr -90h .text:0000000000000838 var_8C = dword ptr -8Ch .text:0000000000000838 var_80 = dword ptr -80h .text:0000000000000838 var_7C = dword ptr -7Ch .text:0000000000000838 var_70 = dword ptr -70h .text:0000000000000838 var_6C = dword ptr -6Ch .text:0000000000000838 var_60 = qword ptr -60h .text:0000000000000838 var_58 = qword ptr -58h .text:0000000000000838 var_4C = dword ptr -4Ch .text:0000000000000838 var_48 = qword ptr -48h .text:0000000000000838 var_40 = qword ptr -40h .text:0000000000000838 var_38 = dword ptr -38h .text:0000000000000838 var_34 = dword ptr -34h .text:0000000000000838 .text:0000000000000838 push rbp .text:0000000000000839 mov rbp, rsp .text:000000000000083C push r15 .text:000000000000083E push r14 .text:0000000000000840 push r13 .text:0000000000000842 push r12 .text:0000000000000844 push rbx .text:0000000000000845 sub rsp, 198h .text:000000000000084C mov [rbp+var_34], 1 .text:0000000000000853 .text:0000000000000853 loc_853: ; CODE XREF: tasks__abort_tasks+4BDj .text:0000000000000853 cmp [rbp+var_34], 3 .text:0000000000000857 jg loc_CFA .text:000000000000085D mov eax, [rbp+var_34] .text:0000000000000860 cdqe .text:0000000000000862 mov rax, ds:qword_E78[rax*8] .text:000000000000086A test rax, rax .text:000000000000086D jz loc_CF1 .text:0000000000000873 mov eax, [rbp+var_34] .text:0000000000000876 cdqe .text:0000000000000878 mov rax, ds:qword_E78[rax*8] .text:0000000000000880 test rax, rax .text:0000000000000883 jnz short loc_899 .text:0000000000000885 mov esi, 17h .text:000000000000088A mov edi, offset aTasks_adb ; "tasks.adb" .text:000000000000088F mov eax, 0 .text:0000000000000894 call __gnat_rcheck_CE_Access_Check .text:0000000000000899 .text:0000000000000899 loc_899: ; CODE XREF: tasks__abort_tasks+4Bj .text:0000000000000899 mov eax, [rbp+var_34] .text:000000000000089C cdqe .text:000000000000089E mov rax, ds:qword_E78[rax*8] .text:00000000000008A6 mov rax, [rax+8] .text:00000000000008AA mov [rbp+var_D0], rax .text:00000000000008B1 lea rax, [rbp+var_D0] .text:00000000000008B8 mov r14, rax .text:00000000000008BB mov r15d, offset unk_EE4 .text:00000000000008C1 mov rcx, r14 .text:00000000000008C4 mov rbx, r15 .text:00000000000008C7 mov rax, r14 .text:00000000000008CA mov rdx, r15 .text:00000000000008CD mov rax, rdx .text:00000000000008D0 mov rdi, rcx .text:00000000000008D3 mov rsi, rax .text:00000000000008D6 call system__tasking__stages__abort_tasks .text:00000000000008DB mov eax, [rbp+var_34] .text:00000000000008DE cdqe .text:00000000000008E0 mov rax, ds:qword_E78[rax*8] .text:00000000000008E8 test rax, rax .text:00000000000008EB jnz short loc_901 .text:00000000000008ED mov esi, 18h .text:00000000000008F2 mov edi, offset aTasks_adb ; "tasks.adb" .text:00000000000008F7 mov eax, 0 .text:00000000000008FC call __gnat_rcheck_CE_Access_Check .text:0000000000000901 .text:0000000000000901 loc_901: ; CODE XREF: tasks__abort_tasks+B3j .text:0000000000000901 mov eax, [rbp+var_34] .text:0000000000000904 cdqe .text:0000000000000906 mov rax, ds:qword_E78[rax*8] .text:000000000000090E test rax, rax .text:0000000000000911 jnz short loc_927 .text:0000000000000913 mov esi, 19h .text:0000000000000918 mov edi, offset aTasks_adb ; "tasks.adb" .text:000000000000091D mov eax, 0 .text:0000000000000922 call __gnat_rcheck_CE_Access_Check .text:0000000000000927 .text:0000000000000927 loc_927: ; CODE XREF: tasks__abort_tasks+D9j .text:0000000000000927 mov eax, [rbp+var_34] .text:000000000000092A cdqe .text:000000000000092C mov rax, ds:qword_E78[rax*8] .text:0000000000000934 mov rax, [rax+8] .text:0000000000000938 mov rdi, rax .text:000000000000093B call system__tasking__stages__terminated .text:0000000000000940 mov ebx, eax .text:0000000000000942 mov eax, [rbp+var_34] .text:0000000000000945 cdqe .text:0000000000000947 mov rax, ds:qword_E78[rax*8] .text:000000000000094F mov rax, [rax+8] .text:0000000000000953 mov rdi, rax .text:0000000000000956 call system__tasking__rendezvous__callable .text:000000000000095B xor eax, 1 .text:000000000000095E and eax, ebx .text:0000000000000960 test al, al .text:0000000000000962 jz loc_B40 .text:0000000000000968 mov rax, rsp .text:000000000000096B mov [rbp+var_1A8], rax .text:0000000000000972 lea rax, [rbp+var_E0] .text:0000000000000979 mov [rbp+var_1A0], rax .text:0000000000000980 mov [rbp+var_198], offset unk_EB0 .text:000000000000098B mov rax, [rbp+var_1A0] .text:0000000000000992 mov rdx, [rbp+var_198] .text:0000000000000999 mov rcx, rax .text:000000000000099C mov rbx, rdx .text:000000000000099F mov eax, [rbp+var_34] .text:00000000000009A2 mov rsi, rcx .text:00000000000009A5 mov edi, eax .text:00000000000009A7 call system__img_int__image_integer .text:00000000000009AC mov esi, eax .text:00000000000009AE mov eax, esi .text:00000000000009B0 mov edx, 0 .text:00000000000009B5 test eax, eax .text:00000000000009B7 cmovs eax, edx .text:00000000000009BA add eax, 0Bh .text:00000000000009BD add eax, 9 .text:00000000000009C0 mov [rbp+var_4C], eax .text:00000000000009C3 mov eax, 0 .text:00000000000009C8 cmp [rbp+var_4C], 0 .text:00000000000009CC cmovns eax, [rbp+var_4C] .text:00000000000009D0 cdqe .text:00000000000009D2 mov [rbp+var_58], rax .text:00000000000009D6 mov eax, 0 .text:00000000000009DB cmp [rbp+var_4C], 0 .text:00000000000009DF cmovns eax, [rbp+var_4C] .text:00000000000009E3 movsxd rdx, eax .text:00000000000009E6 mov eax, 10h .text:00000000000009EB sub rax, 1 .text:00000000000009EF add rax, rdx .text:00000000000009F2 mov ebx, 10h .text:00000000000009F7 mov edx, 0 .text:00000000000009FC div rbx .text:00000000000009FF imul rax, 10h .text:0000000000000A03 sub rsp, rax .text:0000000000000A06 lea rax, [rsp+1C0h+var_1B0] .text:0000000000000A0B add rax, 0 .text:0000000000000A0F mov [rbp+var_60], rax .text:0000000000000A13 mov qword ptr [rbp+var_190], offset unk_EB8 .text:0000000000000A1E mov qword ptr [rbp+var_190+8], offset unk_EEC .text:0000000000000A29 lea rax, [rbp+var_E0] .text:0000000000000A30 mov [rbp+var_180], rax .text:0000000000000A37 mov [rbp+var_C0], 1 .text:0000000000000A41 mov eax, esi .text:0000000000000A43 mov [rbp+var_BC], eax .text:0000000000000A49 lea rax, [rbp+var_C0] .text:0000000000000A50 mov [rbp+var_178], rax .text:0000000000000A57 mov [rbp+var_170], offset unk_EC1 .text:0000000000000A62 mov [rbp+var_168], offset unk_EB0 .text:0000000000000A6D mov rax, [rbp+var_60] .text:0000000000000A71 mov [rbp+var_160], rax .text:0000000000000A78 mov [rbp+var_B0], 1 .text:0000000000000A82 mov eax, [rbp+var_4C] .text:0000000000000A85 mov [rbp+var_AC], eax .text:0000000000000A8B lea rax, [rbp+var_B0] .text:0000000000000A92 mov [rbp+var_158], rax .text:0000000000000A99 mov rax, [rbp+var_160] .text:0000000000000AA0 mov rdx, [rbp+var_158] .text:0000000000000AA7 mov rcx, rax .text:0000000000000AAA mov rbx, rdx .text:0000000000000AAD mov rsi, rcx .text:0000000000000AB0 mov rax, rdx .text:0000000000000AB3 movdqa xmm0, [rbp+var_190] .text:0000000000000ABB movups [rsp+1C0h+var_1C0], xmm0 .text:0000000000000ABF mov r8, [rbp+var_180] .text:0000000000000AC6 mov r9, [rbp+var_178] .text:0000000000000ACD mov rdx, [rbp+var_170] .text:0000000000000AD4 mov rcx, [rbp+var_168] .text:0000000000000ADB mov rdi, rsi .text:0000000000000ADE mov rsi, rax .text:0000000000000AE1 call system__concat_3__str_concat_3 .text:0000000000000AE6 mov rax, [rbp+var_60] .text:0000000000000AEA mov [rbp+var_150], rax .text:0000000000000AF1 mov [rbp+var_A0], 1 .text:0000000000000AFB mov eax, [rbp+var_4C] .text:0000000000000AFE mov [rbp+var_9C], eax .text:0000000000000B04 lea rax, [rbp+var_A0] .text:0000000000000B0B mov [rbp+var_148], rax .text:0000000000000B12 mov rax, [rbp+var_150] .text:0000000000000B19 mov rdx, [rbp+var_148] .text:0000000000000B20 mov rcx, rax .text:0000000000000B23 mov rbx, rdx .text:0000000000000B26 mov rax, rdx .text:0000000000000B29 mov rdi, rcx .text:0000000000000B2C mov rsi, rax .text:0000000000000B2F call ada__text_io__put_line__2 .text:0000000000000B34 mov rsp, [rbp+var_1A8] .text:0000000000000B3B jmp loc_CF1 .text:0000000000000B40 ; --------------------------------------------------------------------------- .text:0000000000000B40 .text:0000000000000B40 loc_B40: ; CODE XREF: tasks__abort_tasks+12Aj .text:0000000000000B40 mov rax, rsp .text:0000000000000B43 mov [rbp+var_1A8], rax .text:0000000000000B4A lea rax, [rbp+var_F0] .text:0000000000000B51 mov [rbp+var_140], rax .text:0000000000000B58 mov [rbp+var_138], offset unk_EB0 .text:0000000000000B63 mov rax, [rbp+var_140] .text:0000000000000B6A mov rdx, [rbp+var_138] .text:0000000000000B71 mov rcx, rax .text:0000000000000B74 mov rbx, rdx .text:0000000000000B77 mov eax, [rbp+var_34] .text:0000000000000B7A mov rsi, rcx .text:0000000000000B7D mov edi, eax .text:0000000000000B7F call system__img_int__image_integer .text:0000000000000B84 mov esi, eax .text:0000000000000B86 mov eax, esi .text:0000000000000B88 mov edx, 0 .text:0000000000000B8D test eax, eax .text:0000000000000B8F cmovs eax, edx .text:0000000000000B92 add eax, 0Bh .text:0000000000000B95 add eax, 0Dh .text:0000000000000B98 mov [rbp+var_38], eax .text:0000000000000B9B mov eax, 0 .text:0000000000000BA0 cmp [rbp+var_38], 0 .text:0000000000000BA4 cmovns eax, [rbp+var_38] .text:0000000000000BA8 cdqe .text:0000000000000BAA mov [rbp+var_40], rax .text:0000000000000BAE mov eax, 0 .text:0000000000000BB3 cmp [rbp+var_38], 0 .text:0000000000000BB7 cmovns eax, [rbp+var_38] .text:0000000000000BBB movsxd rdx, eax .text:0000000000000BBE mov eax, 10h .text:0000000000000BC3 sub rax, 1 .text:0000000000000BC7 add rax, rdx .text:0000000000000BCA mov ebx, 10h .text:0000000000000BCF mov edx, 0 .text:0000000000000BD4 div rbx .text:0000000000000BD7 imul rax, 10h .text:0000000000000BDB sub rsp, rax .text:0000000000000BDE lea rax, [rsp+1C0h+var_1B0] .text:0000000000000BE3 add rax, 0 .text:0000000000000BE7 mov [rbp+var_48], rax .text:0000000000000BEB mov qword ptr [rbp+var_130], offset unk_ECC .text:0000000000000BF6 mov qword ptr [rbp+var_130+8], offset unk_EF4 .text:0000000000000C01 lea rax, [rbp+var_F0] .text:0000000000000C08 mov [rbp+var_120], rax .text:0000000000000C0F mov [rbp+var_90], 1 .text:0000000000000C19 mov eax, esi .text:0000000000000C1B mov [rbp+var_8C], eax .text:0000000000000C21 lea rax, [rbp+var_90] .text:0000000000000C28 mov [rbp+var_118], rax .text:0000000000000C2F mov [rbp+var_110], offset unk_ED9 .text:0000000000000C3A mov [rbp+var_108], offset unk_EB0 .text:0000000000000C45 mov rax, [rbp+var_48] .text:0000000000000C49 mov [rbp+var_100], rax .text:0000000000000C50 mov [rbp+var_80], 1 .text:0000000000000C57 mov eax, [rbp+var_38] .text:0000000000000C5A mov [rbp+var_7C], eax .text:0000000000000C5D lea rax, [rbp+var_80] .text:0000000000000C61 mov [rbp+var_F8], rax .text:0000000000000C68 mov rax, [rbp+var_100] .text:0000000000000C6F mov rdx, [rbp+var_F8] .text:0000000000000C76 mov rcx, rax .text:0000000000000C79 mov rbx, rdx .text:0000000000000C7C mov rsi, rcx .text:0000000000000C7F mov rax, rdx .text:0000000000000C82 movdqa xmm1, [rbp+var_130] .text:0000000000000C8A movups [rsp+1C0h+var_1C0], xmm1 .text:0000000000000C8E mov r8, [rbp+var_120] .text:0000000000000C95 mov r9, [rbp+var_118] .text:0000000000000C9C mov rdx, [rbp+var_110] .text:0000000000000CA3 mov rcx, [rbp+var_108] .text:0000000000000CAA mov rdi, rsi .text:0000000000000CAD mov rsi, rax .text:0000000000000CB0 call system__concat_3__str_concat_3 .text:0000000000000CB5 mov rax, [rbp+var_48] .text:0000000000000CB9 mov r12, rax .text:0000000000000CBC mov [rbp+var_70], 1 .text:0000000000000CC3 mov eax, [rbp+var_38] .text:0000000000000CC6 mov [rbp+var_6C], eax .text:0000000000000CC9 lea rax, [rbp+var_70] .text:0000000000000CCD mov r13, rax .text:0000000000000CD0 mov rcx, r12 .text:0000000000000CD3 mov rbx, r13 .text:0000000000000CD6 mov rax, r12 .text:0000000000000CD9 mov rdx, r13 .text:0000000000000CDC mov rax, rdx .text:0000000000000CDF mov rdi, rcx .text:0000000000000CE2 mov rsi, rax .text:0000000000000CE5 call ada__text_io__put_line__2 .text:0000000000000CEA mov rsp, [rbp+var_1A8] .text:0000000000000CF1 .text:0000000000000CF1 loc_CF1: ; CODE XREF: tasks__abort_tasks+35j .text:0000000000000CF1 ; tasks__abort_tasks+303j .text:0000000000000CF1 add [rbp+var_34], 1 .text:0000000000000CF5 jmp loc_853 .text:0000000000000CFA ; --------------------------------------------------------------------------- .text:0000000000000CFA .text:0000000000000CFA loc_CFA: ; CODE XREF: tasks__abort_tasks+1Fj .text:0000000000000CFA lea rsp, [rbp-28h] .text:0000000000000CFE pop rbx .text:0000000000000CFF pop r12 .text:0000000000000D01 pop r13 .text:0000000000000D03 pop r14 .text:0000000000000D05 pop r15 .text:0000000000000D07 pop rbp .text:0000000000000D08 retn .text:0000000000000D08 tasks__abort_tasks endp .text:0000000000000D08 .text:0000000000000D08 ; --------------------------------------------------------------------------- .text:0000000000000D09 align 2 .text:0000000000000D0A .text:0000000000000D0A ; =============== S U B R O U T I N E ======================================= .text:0000000000000D0A .text:0000000000000D0A ; Attributes: bp-based frame .text:0000000000000D0A .text:0000000000000D0A public tasks__count_alive .text:0000000000000D0A tasks__count_alive proc near .text:0000000000000D0A .text:0000000000000D0A var_18 = dword ptr -18h .text:0000000000000D0A var_14 = dword ptr -14h .text:0000000000000D0A .text:0000000000000D0A push rbp .text:0000000000000D0B mov rbp, rsp .text:0000000000000D0E push rbx .text:0000000000000D0F sub rsp, 18h .text:0000000000000D13 mov [rbp+var_14], 0 .text:0000000000000D1A mov [rbp+var_18], 1 .text:0000000000000D21 .text:0000000000000D21 loc_D21: ; CODE XREF: tasks__count_alive+EAj .text:0000000000000D21 cmp [rbp+var_18], 3 .text:0000000000000D25 jg loc_DF9 .text:0000000000000D2B mov eax, [rbp+var_18] .text:0000000000000D2E cdqe .text:0000000000000D30 mov rax, ds:qword_E78[rax*8] .text:0000000000000D38 test rax, rax .text:0000000000000D3B jz loc_DF0 .text:0000000000000D41 mov eax, [rbp+var_18] .text:0000000000000D44 cdqe .text:0000000000000D46 mov rax, ds:qword_E78[rax*8] .text:0000000000000D4E test rax, rax .text:0000000000000D51 jnz short loc_D67 .text:0000000000000D53 mov esi, 27h ; ''' .text:0000000000000D58 mov edi, offset aTasks_adb ; "tasks.adb" .text:0000000000000D5D mov eax, 0 .text:0000000000000D62 call __gnat_rcheck_CE_Access_Check .text:0000000000000D67 .text:0000000000000D67 loc_D67: ; CODE XREF: tasks__count_alive+47j .text:0000000000000D67 mov eax, [rbp+var_18] .text:0000000000000D6A cdqe .text:0000000000000D6C mov rax, ds:qword_E78[rax*8] .text:0000000000000D74 test rax, rax .text:0000000000000D77 jnz short loc_D8D .text:0000000000000D79 mov esi, 28h ; '(' .text:0000000000000D7E mov edi, offset aTasks_adb ; "tasks.adb" .text:0000000000000D83 mov eax, 0 .text:0000000000000D88 call __gnat_rcheck_CE_Access_Check .text:0000000000000D8D .text:0000000000000D8D loc_D8D: ; CODE XREF: tasks__count_alive+6Dj .text:0000000000000D8D mov eax, [rbp+var_18] .text:0000000000000D90 cdqe .text:0000000000000D92 mov rax, ds:qword_E78[rax*8] .text:0000000000000D9A mov rax, [rax+8] .text:0000000000000D9E mov rdi, rax .text:0000000000000DA1 call system__tasking__rendezvous__callable .text:0000000000000DA6 mov ebx, eax .text:0000000000000DA8 mov eax, [rbp+var_18] .text:0000000000000DAB cdqe .text:0000000000000DAD mov rax, ds:qword_E78[rax*8] .text:0000000000000DB5 mov rax, [rax+8] .text:0000000000000DB9 mov rdi, rax .text:0000000000000DBC call system__tasking__stages__terminated .text:0000000000000DC1 xor eax, 1 .text:0000000000000DC4 or eax, ebx .text:0000000000000DC6 test al, al .text:0000000000000DC8 jz short loc_DF0 .text:0000000000000DCA cmp [rbp+var_14], 7FFFFFFFh .text:0000000000000DD1 jnz short loc_DE7 .text:0000000000000DD3 mov esi, 29h ; ')' .text:0000000000000DD8 mov edi, offset aTasks_adb ; "tasks.adb" .text:0000000000000DDD mov eax, 0 .text:0000000000000DE2 call __gnat_rcheck_CE_Overflow_Check .text:0000000000000DE7 .text:0000000000000DE7 loc_DE7: ; CODE XREF: tasks__count_alive+C7j .text:0000000000000DE7 mov eax, [rbp+var_14] .text:0000000000000DEA add eax, 1 .text:0000000000000DED mov [rbp+var_14], eax .text:0000000000000DF0 .text:0000000000000DF0 loc_DF0: ; CODE XREF: tasks__count_alive+31j .text:0000000000000DF0 ; tasks__count_alive+BEj .text:0000000000000DF0 add [rbp+var_18], 1 .text:0000000000000DF4 jmp loc_D21 .text:0000000000000DF9 ; --------------------------------------------------------------------------- .text:0000000000000DF9 .text:0000000000000DF9 loc_DF9: ; CODE XREF: tasks__count_alive+1Bj .text:0000000000000DF9 mov eax, [rbp+var_14] .text:0000000000000DFC nop .text:0000000000000DFD add rsp, 18h .text:0000000000000E01 pop rbx .text:0000000000000E02 pop rbp .text:0000000000000E03 retn .text:0000000000000E03 tasks__count_alive endp .text:0000000000000E03 .text:0000000000000E04 .text:0000000000000E04 ; =============== S U B R O U T I N E ======================================= .text:0000000000000E04 .text:0000000000000E04 ; Attributes: bp-based frame .text:0000000000000E04 .text:0000000000000E04 public tasks___elabb .text:0000000000000E04 tasks___elabb proc near .text:0000000000000E04 push rbp .text:0000000000000E05 mov rbp, rsp .text:0000000000000E08 mov cs:tasks__testtaskE, 1 .text:0000000000000E0F pop rbp .text:0000000000000E10 retn .text:0000000000000E10 tasks___elabb endp .text:0000000000000E10 .text:0000000000000E10 ; --------------------------------------------------------------------------- .text:0000000000000E11 align 2 .text:0000000000000E12 .text:0000000000000E12 ; =============== S U B R O U T I N E ======================================= .text:0000000000000E12 .text:0000000000000E12 ; Attributes: bp-based frame .text:0000000000000E12 .text:0000000000000E12 public tasks___elabs .text:0000000000000E12 tasks___elabs proc near .text:0000000000000E12 push rbp .text:0000000000000E13 mov rbp, rsp .text:0000000000000E16 push r13 .text:0000000000000E18 push r12 .text:0000000000000E1A push rbx .text:0000000000000E1B sub rsp, 8 .text:0000000000000E1F mov rax, qword ptr cs:system__soft_links__current_master .text:0000000000000E26 call rax ; system__soft_links__current_master .text:0000000000000E28 mov cs:tasks___master, eax .text:0000000000000E2E mov r12d, offset tasks__a .text:0000000000000E34 mov r13d, offset unk_EFC .text:0000000000000E3A mov rcx, r12 .text:0000000000000E3D mov rbx, r13 .text:0000000000000E40 mov rax, r12 .text:0000000000000E43 mov rdx, r13 .text:0000000000000E46 mov rax, rdx .text:0000000000000E49 mov rdi, rcx .text:0000000000000E4C mov rsi, rax .text:0000000000000E4F call tasks__TtaBIP .text:0000000000000E54 add rsp, 8 .text:0000000000000E58 pop rbx .text:0000000000000E59 pop r12 .text:0000000000000E5B pop r13 .text:0000000000000E5D pop rbp .text:0000000000000E5E retn .text:0000000000000E5E tasks___elabs endp .text:0000000000000E5E .text:0000000000000E5E _text ends .text:0000000000000E5E .data:0000000000000E60 ; =========================================================================== .data:0000000000000E60 .data:0000000000000E60 ; Segment type: Pure data .data:0000000000000E60 ; Segment permissions: Read/Write .data:0000000000000E60 _data segment dword public 'DATA' use64 .data:0000000000000E60 assume cs:_data .data:0000000000000E60 ;org 0E60h .data:0000000000000E60 public tasks_E .data:0000000000000E60 tasks_E db 0 .data:0000000000000E61 db 0 .data:0000000000000E62 public tasks__testtaskE .data:0000000000000E62 tasks__testtaskE db 0 ; DATA XREF: tasks__testtaskVIP+7Bo .data:0000000000000E62 ; tasks___elabb+4w .data:0000000000000E63 align 4 .data:0000000000000E64 public tasks__testtaskZ .data:0000000000000E64 tasks__testtaskZ dd 80000000h ; DATA XREF: tasks__testtaskVIP+55r .data:0000000000000E64 _data ends .data:0000000000000E64 .bss:0000000000000E70 ; =========================================================================== .bss:0000000000000E70 .bss:0000000000000E70 ; Segment type: Uninitialized .bss:0000000000000E70 ; Segment permissions: Read/Write .bss:0000000000000E70 _bss segment para public 'BSS' use64 .bss:0000000000000E70 assume cs:_bss .bss:0000000000000E70 ;org 0E70h .bss:0000000000000E70 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing .bss:0000000000000E70 public tasks___master .bss:0000000000000E70 tasks___master dd ? ; DATA XREF: tasks__create_tasks+1BBr .bss:0000000000000E70 ; tasks___elabs+16w .bss:0000000000000E74 align 8 .bss:0000000000000E78 qword_E78 dq ? ; DATA XREF: tasks__create_tasks+257w .bss:0000000000000E78 ; tasks__abort_tasks+2Ar ... .bss:0000000000000E80 public tasks__a .bss:0000000000000E80 tasks__a db ? ; ; DATA XREF: tasks___elabs+1Co .bss:0000000000000E81 db ? ; .bss:0000000000000E82 db ? ; .bss:0000000000000E83 db ? ; .bss:0000000000000E84 db ? ; .bss:0000000000000E85 db ? ; .bss:0000000000000E86 db ? ; .bss:0000000000000E87 db ? ; .bss:0000000000000E88 db ? ; .bss:0000000000000E89 db ? ; .bss:0000000000000E8A db ? ; .bss:0000000000000E8B db ? ; .bss:0000000000000E8C db ? ; .bss:0000000000000E8D db ? ; .bss:0000000000000E8E db ? ; .bss:0000000000000E8F db ? ; .bss:0000000000000E90 db ? ; .bss:0000000000000E91 db ? ; .bss:0000000000000E92 db ? ; .bss:0000000000000E93 db ? ; .bss:0000000000000E94 db ? ; .bss:0000000000000E95 db ? ; .bss:0000000000000E96 db ? ; .bss:0000000000000E97 db ? ; .bss:0000000000000E97 _bss ends .bss:0000000000000E97 .rodata:0000000000000E98 ; =========================================================================== .rodata:0000000000000E98 .rodata:0000000000000E98 ; Segment type: Pure data .rodata:0000000000000E98 ; Segment permissions: Read .rodata:0000000000000E98 _rodata segment dword public 'CONST' use64 .rodata:0000000000000E98 assume cs:_rodata .rodata:0000000000000E98 ;org 0E98h .rodata:0000000000000E98 public tasks__max_tasks .rodata:0000000000000E98 tasks__max_tasks db 3 .rodata:0000000000000E99 db 0 .rodata:0000000000000E9A db 0 .rodata:0000000000000E9B db 0 .rodata:0000000000000E9C unk_E9C db 0 ; DATA XREF: tasks__testtaskVIP+4Fo .rodata:0000000000000E9D db 0 .rodata:0000000000000E9E db 0 .rodata:0000000000000E9F db 0 .rodata:0000000000000EA0 db 0 .rodata:0000000000000EA1 db 0 .rodata:0000000000000EA2 db 0 .rodata:0000000000000EA3 db 0 .rodata:0000000000000EA4 aTasks_adb db 'tasks.adb',0 ; DATA XREF: tasks__testtaskTB+6Do .rodata:0000000000000EA4 ; tasks__create_tasks+156o ... .rodata:0000000000000EAE align 10h .rodata:0000000000000EB0 unk_EB0 db 1 ; DATA XREF: tasks__create_tasks__L_2__A12b__F11b_3763+26o .rodata:0000000000000EB0 ; tasks__abort_tasks+148o ... .rodata:0000000000000EB1 db 0 .rodata:0000000000000EB2 db 0 .rodata:0000000000000EB3 db 0 .rodata:0000000000000EB4 db 0Bh .rodata:0000000000000EB5 db 0 .rodata:0000000000000EB6 db 0 .rodata:0000000000000EB7 db 0 .rodata:0000000000000EB8 unk_EB8 db 20h ; DATA XREF: tasks__abort_tasks+1DBo .rodata:0000000000000EB9 db 61h ; a .rodata:0000000000000EBA db 62h ; b .rodata:0000000000000EBB db 6Fh ; o .rodata:0000000000000EBC db 72h ; r .rodata:0000000000000EBD db 74h ; t .rodata:0000000000000EBE db 65h ; e .rodata:0000000000000EBF db 64h ; d .rodata:0000000000000EC0 db 2Eh ; . .rodata:0000000000000EC1 unk_EC1 db 50h ; P ; DATA XREF: tasks__abort_tasks+21Fo .rodata:0000000000000EC2 db 41h ; A .rodata:0000000000000EC3 db 53h ; S .rodata:0000000000000EC4 db 53h ; S .rodata:0000000000000EC5 db 3Ah ; : .rodata:0000000000000EC6 db 20h .rodata:0000000000000EC7 db 54h ; T .rodata:0000000000000EC8 db 61h ; a .rodata:0000000000000EC9 db 73h ; s .rodata:0000000000000ECA db 6Bh ; k .rodata:0000000000000ECB db 20h .rodata:0000000000000ECC unk_ECC db 20h ; DATA XREF: tasks__abort_tasks+3B3o .rodata:0000000000000ECD db 4Eh ; N .rodata:0000000000000ECE db 4Fh ; O .rodata:0000000000000ECF db 54h ; T .rodata:0000000000000ED0 db 20h .rodata:0000000000000ED1 db 61h ; a .rodata:0000000000000ED2 db 62h ; b .rodata:0000000000000ED3 db 6Fh ; o .rodata:0000000000000ED4 db 72h ; r .rodata:0000000000000ED5 db 74h ; t .rodata:0000000000000ED6 db 65h ; e .rodata:0000000000000ED7 db 64h ; d .rodata:0000000000000ED8 db 2Eh ; . .rodata:0000000000000ED9 unk_ED9 db 46h ; F ; DATA XREF: tasks__abort_tasks+3F7o .rodata:0000000000000EDA db 41h ; A .rodata:0000000000000EDB db 49h ; I .rodata:0000000000000EDC db 4Ch ; L .rodata:0000000000000EDD db 3Ah ; : .rodata:0000000000000EDE db 20h .rodata:0000000000000EDF db 54h ; T .rodata:0000000000000EE0 db 61h ; a .rodata:0000000000000EE1 db 73h ; s .rodata:0000000000000EE2 db 6Bh ; k .rodata:0000000000000EE3 db 20h .rodata:0000000000000EE4 unk_EE4 db 1 ; DATA XREF: tasks__abort_tasks+83o .rodata:0000000000000EE5 db 0 .rodata:0000000000000EE6 db 0 .rodata:0000000000000EE7 db 0 .rodata:0000000000000EE8 db 1 .rodata:0000000000000EE9 db 0 .rodata:0000000000000EEA db 0 .rodata:0000000000000EEB db 0 .rodata:0000000000000EEC unk_EEC db 1 ; DATA XREF: tasks__abort_tasks+1E6o .rodata:0000000000000EED db 0 .rodata:0000000000000EEE db 0 .rodata:0000000000000EEF db 0 .rodata:0000000000000EF0 db 9 .rodata:0000000000000EF1 db 0 .rodata:0000000000000EF2 db 0 .rodata:0000000000000EF3 db 0 .rodata:0000000000000EF4 unk_EF4 db 1 ; DATA XREF: tasks__abort_tasks+3BEo .rodata:0000000000000EF5 db 0 .rodata:0000000000000EF6 db 0 .rodata:0000000000000EF7 db 0 .rodata:0000000000000EF8 db 0Dh .rodata:0000000000000EF9 db 0 .rodata:0000000000000EFA db 0 .rodata:0000000000000EFB db 0 .rodata:0000000000000EFC unk_EFC db 1 ; DATA XREF: tasks___elabs+22o .rodata:0000000000000EFD db 0 .rodata:0000000000000EFE db 0 .rodata:0000000000000EFF db 0 .rodata:0000000000000F00 db 3 .rodata:0000000000000F01 db 0 .rodata:0000000000000F02 db 0 .rodata:0000000000000F03 db 0 .rodata:0000000000000F03 _rodata ends .rodata:0000000000000F03 .gcc_except_table:0000000000000F04 ; =========================================================================== .gcc_except_table:0000000000000F04 .gcc_except_table:0000000000000F04 ; Segment type: Pure data .gcc_except_table:0000000000000F04 ; Segment permissions: Read .gcc_except_table:0000000000000F04 _gcc_except_table segment byte public 'CONST' use64 .gcc_except_table:0000000000000F04 assume cs:_gcc_except_table .gcc_except_table:0000000000000F04 ;org 0F04h .gcc_except_table:0000000000000F04 unk_F04 db 0FFh ; DATA XREF: tasks__testtaskTB+20o .gcc_except_table:0000000000000F05 db 0FFh .gcc_except_table:0000000000000F06 db 1 .gcc_except_table:0000000000000F07 db 2 .gcc_except_table:0000000000000F08 db 0 .gcc_except_table:0000000000000F09 db 0 .gcc_except_table:0000000000000F0A unk_F0A db 0FFh ; DATA XREF: tasks__create_tasks+25o .gcc_except_table:0000000000000F0B db 0FFh .gcc_except_table:0000000000000F0C db 1 .gcc_except_table:0000000000000F0D db 4 .gcc_except_table:0000000000000F0E db 0 .gcc_except_table:0000000000000F0F db 0 .gcc_except_table:0000000000000F10 db 1 .gcc_except_table:0000000000000F11 db 0 .gcc_except_table:0000000000000F11 _gcc_except_table ends .gcc_except_table:0000000000000F11 extern:0000000000000F14 ; =========================================================================== extern:0000000000000F14 extern:0000000000000F14 ; Segment type: Externs extern:0000000000000F14 ; extern extern:0000000000000F14 extrn system__tasking__stages__create_task:near extern:0000000000000F14 ; CODE XREF: tasks__testtaskVIP+BDp extern:0000000000000F18 extrn system__soft_links__abort_defer:near extern:0000000000000F18 ; CODE XREF: tasks__testtask___finalizer_3724+13p extern:0000000000000F18 ; DATA XREF: tasks__testtask___finalizer_3724+Cr extern:0000000000000F1C extrn system__tasking__stages__complete_task:near extern:0000000000000F1C ; CODE XREF: tasks__testtask___finalizer_3724+15p extern:0000000000000F20 extrn system__soft_links__abort_undefer:near extern:0000000000000F20 ; CODE XREF: tasks__testtask___finalizer_3724+21p extern:0000000000000F20 ; tasks__testtaskTB+8Dp extern:0000000000000F20 ; DATA XREF: ... extern:0000000000000F24 extrn __gnat_personality_sj0 extern:0000000000000F24 ; DATA XREF: tasks__testtaskTB+18o extern:0000000000000F24 ; tasks__create_tasks+1Ao extern:0000000000000F28 extrn _Unwind_SjLj_Register:near extern:0000000000000F28 ; CODE XREF: tasks__testtaskTB+4Ap extern:0000000000000F28 ; tasks__create_tasks+55p extern:0000000000000F2C extrn _Unwind_SjLj_Unregister:near extern:0000000000000F2C ; CODE XREF: sub_1DC+60p extern:0000000000000F2C ; tasks__create_tasks+2ECp extern:0000000000000F30 extrn __gnat_rcheck_CE_Access_Check:near extern:0000000000000F30 ; CODE XREF: tasks__testtaskTB+77p extern:0000000000000F30 ; tasks__abort_tasks+5Cp ... extern:0000000000000F34 extrn system__tasking__stages__complete_activation:near extern:0000000000000F34 ; CODE XREF: tasks__testtaskTB+8Fp extern:0000000000000F38 extrn _Unwind_SjLj_Resume:near extern:0000000000000F38 ; CODE XREF: sub_1DC+50p extern:0000000000000F38 ; tasks__create_tasks+2DCp extern:0000000000000F3C extrn system__tasking__stages__expunge_unactivated_tasks:near extern:0000000000000F3C ; CODE XREF: tasks__create_tasks__L_2__A12b___finalizer_3755+17p extern:0000000000000F40 extrn system__secondary_stack__ss_release:near extern:0000000000000F40 ; CODE XREF: tasks__create_tasks__L_2__A12b___finalizer_3755+29p extern:0000000000000F44 extrn __gnat_malloc:near extern:0000000000000F44 ; CODE XREF: tasks__create_tasks+9Bp extern:0000000000000F48 extrn system__secondary_stack__ss_mark:near extern:0000000000000F48 ; CODE XREF: tasks__create_tasks+B1p extern:0000000000000F4C extrn __gnat_rcheck_CE_Range_Check:near extern:0000000000000F4C ; CODE XREF: tasks__create_tasks+160p extern:0000000000000F4C ; tasks__create_tasks__L_2__A12b__F11b_3763+129p ... extern:0000000000000F50 extrn system__tasking__activation_chainIP:near extern:0000000000000F50 ; CODE XREF: tasks__create_tasks+188p extern:0000000000000F54 extrn system__tasking__stages__activate_tasks:near extern:0000000000000F54 ; CODE XREF: tasks__create_tasks+208p extern:0000000000000F58 extrn system__img_int__image_integer:near extern:0000000000000F58 ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+3Cp extern:0000000000000F58 ; tasks__abort_tasks+16Fp ... extern:0000000000000F5C ; void *memcpy(void *dest, const void *src, size_t n) extern:0000000000000F5C extrn memcpy:near ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+9Fp extern:0000000000000F5C ; tasks__create_tasks__L_2__A12b__F11b_3763+214p ... extern:0000000000000F60 extrn __gnat_rcheck_CE_Overflow_Check:near extern:0000000000000F60 ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+BDp extern:0000000000000F60 ; tasks__create_tasks__L_2__A12b__F11b_3763+19Ep ... extern:0000000000000F64 extrn __gnat_rcheck_CE_Index_Check:near extern:0000000000000F64 ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+149p extern:0000000000000F64 ; tasks__create_tasks__L_2__A12b__F11b_3763+22Cp extern:0000000000000F68 extrn __gnat_rcheck_CE_Length_Check:near extern:0000000000000F68 ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+1FAp extern:0000000000000F6C extrn system__secondary_stack__ss_allocate:near extern:0000000000000F6C ; CODE XREF: tasks__create_tasks__L_2__A12b__F11b_3763+254p extern:0000000000000F70 extrn system__tasking__stages__abort_tasks:near extern:0000000000000F70 ; CODE XREF: tasks__abort_tasks+9Ep extern:0000000000000F74 extrn system__tasking__stages__terminated:near extern:0000000000000F74 ; CODE XREF: tasks__abort_tasks+103p extern:0000000000000F74 ; tasks__count_alive+B2p extern:0000000000000F78 extrn system__tasking__rendezvous__callable:near extern:0000000000000F78 ; CODE XREF: tasks__abort_tasks+11Ep extern:0000000000000F78 ; tasks__count_alive+97p extern:0000000000000F7C extrn system__concat_3__str_concat_3:near extern:0000000000000F7C ; CODE XREF: tasks__abort_tasks+2A9p extern:0000000000000F7C ; tasks__abort_tasks+478p extern:0000000000000F80 extrn ada__text_io__put_line__2:near extern:0000000000000F80 ; CODE XREF: tasks__abort_tasks+2F7p extern:0000000000000F80 ; tasks__abort_tasks+4ADp extern:0000000000000F84 extrn system__soft_links__current_master:near extern:0000000000000F84 ; CODE XREF: tasks___elabs+14p extern:0000000000000F84 ; DATA XREF: tasks___elabs+Dr extern:0000000000000F84 extern:0000000000000F84 extern:0000000000000F84 end