Function at 0x401005
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x140
mov edi, dword [ecx + 0x1c]
mov esi, dword [ecx + 0x20]
mov ebx, ecx
mov byte [esp + 0x130], 0
lea ecx, [esp + 0x78]
mov edx, edi
push esi
call fcn.005fc90d
pop eax
cmp dword [ebx], 0
je 0x401106
mov edx, edi
lea ecx, [esp + 0x44]
push 0xa030e8
push 1
push esi
call fcn.005fcee1
add esp, 0xc
call fcn.00601343
test eax, eax
je 0x40138e
lea ecx, [esp + 0x64]
mov dword [ecx], eax
mov dword [ecx + 4], edx
lea edx, [esp + 0x28]
mov dword [edx], ecx
push 0x16
pop ecx
lea edi, [esp + 0x88]
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
call fcn.005fbea9
mov bl, 2
test eax, eax
mov bh, 2
je 0x40109e
mov bh, byte [eax + 0x3c]
mov cl, byte [eax + 0x3d]
mov word [eax + 0x3c], 0x8001
mov byte [esp + 4], cl
lea ecx, [esp + 0x88]
lea edx, [esp + 0x28]
call fcn.00403eae
movzx edx, byte [esp + 4]
movzx ecx, bh
call fcn.005ae2fe
xor ecx, ecx
call fcn.005fbea9
test eax, eax
je 0x4010e6
add eax, 0x10
mov ecx, eax
call fcn.00401dcc
mov edi, dword [eax]
mov esi, edx
test edi, edi
je 0x4010df
mov ecx, eax
call fcn.005fd7f9
test edi, edi
setne bl
inc dword [esi]
movzx ecx, bl
mov edx, 0xa38c3c
push 0xa38cd4
push 0x46
call fcn.00401e15
pop ecx
pop edx
call fcn.00601443
jmp 0x40107f
lea eax, [ebx + 0x1c]
mov dword [esp + 4], eax
lea eax, [ebx + 4]
mov dword [esp + 0xc], eax
push 0x16
pop ecx
mov edx, edi
mov eax, esi
lea edi, [esp + 0x88]
lea esi, [esp + 0xe0]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x64]
push 0x646a24
push 0
push eax
call fcn.005fcee1
add esp, 0xc
mov ecx, dword [esp + 4]
call fcn.00601bd6
lea ecx, [ebx + 8]
lea edi, [esp + 0x44]
mov dword [esp + 0x3c], eax
mov dword [esp + 4], ebx
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0xc]
xor eax, eax
xchg dword [ecx], eax
test eax, eax
jne 0x401319
mov eax, dword [esp + 4]
and dword [esp + 0x18], 0
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x40]
shr eax, 2
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x61]
mov dword [esp + 0x48], eax
mov al, byte [esp + 0x17]
and dword [esp + 0x4c], 0
and dword [esp + 0x50], 0
and dword [esp + 0x54], 0
and dword [esp + 0x5c], 0
mov byte [esp + 0x60], 0
mov byte [ecx + 2], al
movzx eax, word [esp + 0x15]
mov word [ecx], ax
call fcn.00601343
test eax, eax
je 0x401282
lea ecx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x10], ecx
xor ecx, ecx
call fcn.005fbea9
test eax, eax
je 0x4011e8
mov bl, byte [eax + 0x3c]
mov bh, byte [eax + 0x3d]
mov word [eax + 0x3c], 0x8001
jmp 0x4011ea
mov bl, 2
mov edx, dword [esp + 0x10]
mov ecx, edi
call fcn.006051ae
movzx esi, bl
test al, al
movzx ebx, bh
je 0x401267
lea ecx, [esp + 0x88]
lea edx, [esp + 0x10]
call fcn.00403eae
mov ecx, esi
mov edx, ebx
call fcn.005ae2fe
xor ecx, ecx
call fcn.005fbea9
test eax, eax
je 0x401245
add eax, 0x10
mov ecx, eax
call fcn.00401dcc
mov esi, dword [eax]
mov ebx, edx
test esi, esi
je 0x40123c
mov ecx, eax
call fcn.005fd7f9
test esi, esi
setne al
inc dword [ebx]
jmp 0x401247
mov al, 2
movzx ecx, al
mov edx, 0xa38c3c
push 0xa38cd4
push 0x46
call fcn.00401e15
pop ecx
pop edx
call fcn.00601443
jmp 0x4011cf
mov ecx, esi
mov edx, ebx
call fcn.005ae2fe
mov eax, dword [esp + 0x28]
push dword [esp + 0x2c]
call dword [eax + 0xc]
add esp, 4
xor eax, eax
jmp 0x401284
mov al, 2
movzx ecx, al
mov edx, str.Failed_to__Enter::block_on_a_spawned_task_panicked_and_the_runtime_is_configured_to_shut_down_on_unhandled_panic_1
push 0x646a24
push 0x1b
call fcn.00401e15
pop ecx
pop edx
mov ecx, edi
mov ebx, eax
call fcn.006054d2
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4012b5
push dword [esp + 0x58]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esp + 0x18]
test bl, bl
jne 0x4012d3
test eax, eax
je 0x40115b
lea ecx, [esp + 0x18]
call fcn.00401ce4
jmp 0x40115b
test eax, eax
je 0x4012e0
lea ecx, [esp + 0x18]
call fcn.00401ce4
lea esi, [esp + 0x64]
mov ecx, dword [esi + 0x10]
call fcn.005fd034
mov ecx, esi
call fcn.00401ccd
lea ecx, [esp + 0x88]
call fcn.0040165c
lea ecx, [esp + 0x78]
call fcn.00401ccd
mov ecx, dword [esp + 4]
call fcn.00401cfc
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0x3c]
mov ecx, dword [ecx]
lock inc dword [ecx]
jg 0x401328
ud2
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0xc]
and dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
lea edx, [esp + 0x88]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x28]
movsd xmm0, qword [esp + 0x18]
movsd xmm1, qword [esp + 0x20]
movsd qword [ecx], xmm0
movsd qword [ecx + 8], xmm1
call fcn.00401e62
lea ecx, [esp + 0x44]
mov edx, 0x646a24
mov dword [ecx], 0xa03190
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], str.dest_is_out_of_bounds
and dword [ecx + 0xc], 0
call fcn.0063cbf0
ud2
lea ecx, [esp + 0xe0]
call fcn.0040165c
lea eax, [esp + 8]
push 0x15
pop edx
mov ecx, str.failed_to_park_thread
push 0xa03110
push 0x646934
push eax
call fcn.0063cff0
add esp, 0xc
ud2