Function at 0x44b850
Capabilities:
Create thread
Get system information on windows
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffc0
sub esp, 0x440
cmp byte [edx + 0x70], 0
mov esi, edx
mov dword [esp + 0xe8], ecx
je 0x44b885
cmp dword [esi], 0
mov dword [esp + 0x38], esi
je 0x44ba53
mov edi, dword [esi + 4]
mov al, 1
jmp 0x44c0b1
movzx eax, word [esi + 0x71]
movzx ecx, byte [esi + 0x73]
mov edx, dword [esi + 0x60]
mov word [esp + 0x2ac], ax
mov byte [esp + 0x2ae], 1
mov byte [esp + 0x2af], cl
mov dword [esp + 0x2a8], edx
lea ecx, [esp + 0x140]
lea edx, [esp + 0x2a8]
call fcn.0044ef50
mov ebx, dword [esp + 0x140]
cmp ebx, 2
je 0x44c0fa
mov eax, dword [esp + 0x144]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x14c]
lea ecx, [esp + 0x320]
push 0x8c
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x330]
movsd xmm0, qword [esp + 0x320]
movq xmm1, qword [esp + 0x328]
mov dword [esp + 0x38], esi
lea esi, [esp + 0x334]
lea edi, [esp + 0x2a8]
mov ecx, 0x1e
mov dword [esp + 0x124], eax
movq qword [esp + 0x11c], xmm1
movsd qword [esp + 0x114], xmm0
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x108], ebx
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x44]
mov edx, dword [esi + 0x64]
mov dword [esp + 0x10c], eax
mov ecx, esi
call fcn.0044f720
mov dword [esp + 0x288], eax
mov dword [esp + 0x28c], edx
mov ebx, eax
lock inc dword [eax]
jle 0x44c252
add esi, 0x50
mov ecx, esi
call fcn.004483f0
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov ecx, esi
call fcn.004483f0
mov dword [esp + 0x40], edx
movsd xmm1, qword [esp + 0x118]
movsd xmm0, qword [esp + 0x120]
movq xmm2, qword [esp + 0x108]
lea edi, [esp + 0x320]
lea esi, [esp + 0x2a8]
mov ecx, 0x1e
movsd qword [esp + 0x3c0], xmm1
movq xmm1, qword [esp + 0x110]
movsd qword [esp + 0x3c8], xmm0
movq qword [esp + 0x3b0], xmm2
movq qword [esp + 0x3b8], xmm1
rep movsd dword es:[edi], dword [esi]
mov edx, dword [esp + 0x38]
mov edi, dword [edx + 0x40]
test edi, edi
je 0x44bb4a
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x58], ecx
lock inc dword [edi]
jle 0x44c252
mov esi, dword [edx + 0x48]
mov dword [esp + 0xf0], eax
test esi, esi
je 0x44bb5c
mov eax, dword [edx + 0x4c]
mov dword [esp + 0x54], eax
lock inc dword [esi]
jg 0x44bb5c
jmp 0x44c252
lea edi, [esp + 0x140]
mov edx, str.TOKIO_WORKER_THREADS___cannot_be_set_to_0
mov ecx, edi
push 0x14
call fcn.0043b9c0
add esp, 4
mov eax, dword [esp + 0x140]
cmp eax, 0x80000000
jne 0x44babe
xorps xmm0, xmm0
mov dword [esp + 0x160], 0
movaps xmmword [esp + 0x150], xmm0
movaps xmmword [esp + 0x140], xmm0
lea eax, [esp + 0x140]
push eax
call sub.kernel32.dll_GetSystemInfo
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x154]
movzx eax, byte [esi + 0x70]
cmp edi, 1
adc edi, 0
jmp 0x44c0b1
mov ecx, dword [esp + 0x144]
mov esi, dword [esp + 0x148]
cmp byte [esp + 0x14c], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
je 0x44bf52
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0x2ac]
test esi, esi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2ac], eax
mov dword [esp + 0x2b0], esi
je 0x44e2d8
movzx eax, byte [eax]
cmp eax, 0x2d
je 0x44bff3
cmp eax, 0x2b
jne 0x44c02b
mov eax, dword [esp + 0x40]
dec esi
je 0x44df0b
lea ecx, [eax + 1]
cmp esi, 9
mov dword [esp + 0xf0], edi
jb 0x44c00c
jmp 0x44c03b
mov esi, dword [edx + 0x48]
mov dword [esp + 0xf0], eax
test esi, esi
jne 0x44ba3e
movq xmm1, qword [edx + 0x10]
mov dword [esp + 0x3c], ebx
movzx ebx, byte [edx + 0x74]
movdqa xmm0, xmm1
movd ecx, xmm1
movdqa xmmword [esp + 0xd0], xmm1
mov byte [esp + 0x70], bl
shufps xmm0, xmm1, 0x55
movdqu xmm1, xmmword [edx + 0x68]
movzx edx, byte [edx + 0x75]
test ecx, ecx
mov ecx, 0x1f
movd eax, xmm0
cmovne ecx, eax
mov dword [esp + 0x4c], ecx
movdqa xmmword [esp + 0xa0], xmm1
mov byte [esp + 0x38], dl
movzx eax, byte [0x476104]
mov ecx, 0x30
call fcn.0043d720
test eax, eax
je 0x44e216
mov dword [eax + 4], 0
mov dword [eax], 0
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x1c], 0
mov dword [eax + 0x18], 0
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
mov dword [eax + 0x2c], 0
mov dword [esp + 0x50], eax
mov dword [eax + 0x28], 0
nop word [eax + eax]
mov edx, dword [0x4620cc]
mov eax, dword [0x4620c8]
nop dword [eax + eax]
mov ebx, eax
mov ecx, edx
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x4620c8]
jne 0x44bc30
mov ecx, eax
or ecx, edx
je 0x44bc20
movaps xmm0, xmmword [esp + 0xd0]
mov ecx, dword [esp + 0x58]
unpcklpd xmm0, xmmword [esp + 0xa0]
movups xmmword [esp + 0x168], xmm0
mov dword [esp + 0x178], edi
mov dword [esp + 0x17c], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x180], esi
lea edi, [esp + 0x1b8]
lea esi, [esp + 0x2a8]
mov dword [esp + 0x184], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x188], 0
mov byte [esp + 0x18c], 0
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x194], ecx
movzx ecx, byte [esp + 0x70]
mov byte [esp + 0x198], cl
movzx ecx, byte [esp + 0x38]
mov byte [esp + 0x199], cl
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x230], 0
mov byte [esp + 0x234], 0
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x238], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 1
mov dword [esp + 0x148], ecx
mov dword [esp + 0x14c], 4
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 3
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x15c], edx
mov byte [esp + 0x160], 0
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a5], 0
mov dword [esp + 0x1a1], 0
mov dword [esp + 0x1ac], 0
mov byte [esp + 0x1b0], 0
mov dword [esp + 0x240], eax
movzx eax, byte [0x476104]
mov ecx, 0x108
call fcn.0043d720
test eax, eax
je 0x44e22a
mov esi, eax
push 0x108
lea eax, [esp + 0x144]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [0x476104]
mov ecx, 0x100
call fcn.0043d720
mov edi, eax
test eax, eax
je 0x44e245
movsd xmm1, qword [esp + 0x118]
movsd xmm0, qword [esp + 0x120]
movq xmm2, qword [esp + 0x108]
mov eax, dword [esp + 0x4c]
movsd qword [esp + 0x150], xmm1
movq xmm1, qword [esp + 0x110]
movsd qword [esp + 0x158], xmm0
movq qword [esp + 0x140], xmm2
movq qword [esp + 0x148], xmm1
mov dword [esp + 0x160], 0x40
mov dword [esp + 0x164], edi
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], eax
mov byte [esp + 0x178], 0
movzx eax, byte [0x476104]
mov ecx, 0x3c
call fcn.0043d720
test eax, eax
je 0x44e259
mov ecx, dword [esp + 0x178]
mov dword [eax + 0x38], ecx
mov ecx, dword [esp + 0xe8]
movsd xmm0, qword [esp + 0x170]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x160]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x150]
movsd qword [eax + 0x10], xmm0
movsd xmm0, qword [esp + 0x140]
movq xmm1, qword [esp + 0x148]
movq qword [eax + 8], xmm1
movsd qword [eax], xmm0
mov dword [ecx + 8], 0
mov dword [ecx + 4], 0
mov dword [ecx + 0x10], 0
mov dword [ecx + 0xc], 0
mov dword [ecx], 0
mov dword [ecx + 0x14], eax
mov dword [ecx + 0x18], 0
mov dword [ecx + 0x1c], esi
movsd xmm0, qword [esp + 0x288]
movsd qword [ecx + 0x20], xmm0
jmp 0x44dcb6
test esi, esi
je 0x44e2b0
movzx eax, byte [esp + 0x14f]
movzx ecx, word [esp + 0x14d]
mov edx, dword [esp + 0x40]
shl eax, 0x10
or ecx, eax
mov dword [esp + 0x44], ecx
lea ecx, [edx + esi]
jmp 0x44bf9a
add edx, 2
cmp eax, ecx
cmovne eax, edx
nop word cs:[eax + eax]
nop
cmp eax, ecx
mov edx, eax
je 0x44bae2
movzx ebx, byte [edx]
lea eax, [edx + 1]
test bl, bl
jns 0x44bf90
cmp bl, 0xe0
jb 0x44bf7c
cmp bl, 0xed
jne 0x44bfd2
cmp eax, ecx
je 0x44bae2
lea eax, [edx + 2]
cmp eax, ecx
je 0x44bae2
cmp byte [edx + 1], 0x9f
ja 0x44dcbe
add edx, 3
mov eax, edx
jmp 0x44bf90
add edx, 2
cmp eax, ecx
cmove edx, eax
xor eax, eax
cmp edx, ecx
setne al
add eax, edx
cmp bl, 0xf0
jb 0x44bf90
xor edx, edx
cmp eax, ecx
setne dl
add eax, edx
jmp 0x44bf90
mov ecx, dword [esp + 0x40]
cmp esi, 1
je 0x44df0b
cmp esi, 9
mov dword [esp + 0xf0], edi
jae 0x44c03b
xor edi, edi
nop
movzx eax, byte [ecx]
add eax, 0xffffffd0
cmp eax, 9
ja 0x44df0b
lea edx, [edi + edi*4]
inc ecx
dec esi
lea edi, [eax + edx*2]
jne 0x44c010
jmp 0x44c088
mov ecx, dword [esp + 0x40]
cmp esi, 9
mov dword [esp + 0xf0], edi
jb 0x44c00c
xor eax, eax
mov edi, 0xa
nop word cs:[eax + eax]
nop dword [eax]
test esi, esi
je 0x44c086
movzx ebx, byte [ecx]
mul edi
seto byte [esp + 0x44]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x44df0b
cmp byte [esp + 0x44], 0
mov dl, 2
mov dword [esp + 0x48], edx
jne 0x44df11
inc ecx
dec esi
add eax, ebx
jae 0x44c050
jmp 0x44df11
mov edi, eax
test edi, edi
je 0x44e274
cmp dword [esp + 0x3c], 0
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x40]
je 0x44c0ad
push eax
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
movzx eax, byte [esi + 0x70]
movzx ecx, word [esi + 0x71]
movzx edx, byte [esi + 0x73]
mov esi, dword [esi + 0x60]
xor al, 1
mov word [esp + 0x2ac], cx
mov byte [esp + 0x2ae], al
mov byte [esp + 0x2af], dl
mov dword [esp + 0x2a8], esi
lea ecx, [esp + 0x140]
lea edx, [esp + 0x2a8]
call fcn.0044ef50
mov ebx, dword [esp + 0x140]
cmp ebx, 2
jne 0x44c120
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0xe8]
mov dword [edx + 8], ecx
mov dword [edx + 4], eax
mov dword [edx], 2
jmp 0x44dcb6
mov eax, dword [esp + 0x144]
lea ecx, [esp + 0x14c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x320]
push 0x8c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x330]
movq xmm0, qword [esp + 0x320]
movq xmm1, qword [esp + 0x328]
lea esi, [esp + 0x334]
mov ecx, 0x1e
mov dword [esp + 0x2a4], eax
mov eax, edi
movq qword [esp + 0x29c], xmm1
movq qword [esp + 0x294], xmm0
lea edi, [esp + 0x3b0]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x288], ebx
mov dword [esp + 0xa0], eax
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov edx, dword [esi + 0x64]
mov dword [esp + 0x290], ecx
mov ecx, dword [esp + 0x44]
add edx, eax
mov dword [esp + 0x28c], ecx
mov ecx, esi
call fcn.0044f720
mov dword [esp + 0x280], eax
mov dword [esp + 0x284], edx
mov edi, eax
lock inc dword [eax]
jle 0x44c252
mov ebx, esi
add esi, 0x50
mov ecx, esi
mov dword [esp + 0x4c], edi
call fcn.004483f0
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov ecx, esi
call fcn.004483f0
lea edi, [esp + 0x2a8]
lea esi, [esp + 0x3b0]
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
mov esi, dword [ebx + 0x40]
test esi, esi
je 0x44c233
mov edi, dword [ecx + 0x44]
mov dword [esp + 0xd0], edi
lock inc dword [esi]
jg 0x44c233
jmp 0x44c252
mov edi, dword [ecx + 0x48]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], edx
mov dword [esp + 0x40], esi
test edi, edi
je 0x44c254
mov eax, dword [ecx + 0x4c]
mov dword [esp + 0x50], eax
lock inc dword [edi]
jg 0x44c254
ud2
movups xmm1, xmmword [ecx + 0x68]
movdqu xmm0, xmmword [ecx + 0x10]
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 1
movsd xmm3, qword [esp + 0x288]
movq xmm2, qword [esp + 0x298]
mov bh, byte [ecx + 0x74]
mov bl, byte [ecx + 0x75]
movaps xmmword [esp + 0x70], xmm1
movsd xmm1, qword [esp + 0x290]
movdqa xmmword [esp + 0xf0], xmm0
movsd qword [esp + 0x148], xmm3
movq qword [esp + 0x158], xmm2
movsd qword [esp + 0x150], xmm1
movq xmm1, qword [esp + 0x2a0]
movq qword [esp + 0x160], xmm1
mov byte [esp + 0x168], 0
movzx eax, byte [0x476104]
mov ecx, 0x2c
call fcn.0043d720
test eax, eax
mov dword [esp + 0x3c], edi
je 0x44e0e0
mov esi, eax
mov eax, dword [esp + 0x168]
mov dword [esi + 0x28], eax
movsd xmm0, qword [esp + 0x160]
movsd qword [esi + 0x20], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [esi + 0x18], xmm0
movsd xmm0, qword [esp + 0x150]
movsd qword [esi + 0x10], xmm0
movq xmm0, qword [esp + 0x140]
movq xmm1, qword [esp + 0x148]
movq qword [esi + 8], xmm1
movq qword [esi], xmm0
movzx eax, byte [0x476104]
mov ecx, 0x18
call fcn.0043d720
test eax, eax
je 0x44e0fb
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], esi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 0x14], 0
lea edi, [esp + 0x320]
lea esi, [esp + 0x3b0]
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xec], eax
movdqa xmm0, xmmword [esp + 0xf0]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0xa0]
punpcklqdq xmm0, xmmword [esp + 0x70]
test edi, edi
movdqu xmmword [esp + 0x108], xmm0
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], edx
mov edx, dword [esp + 0x50]
mov dword [esp + 0x120], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x124], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x128], 0
mov byte [esp + 0x12c], 0
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], edx
mov byte [esp + 0x138], bh
mov byte [esp + 0x139], bl
je 0x44c8fd
cmp edi, 0x1fffffff
mov dword [esp + 0x50], eax
ja 0x44e1d7
lea ecx, [edi*4]
test ecx, ecx
js 0x44e1d7
movzx eax, byte [0x476104]
mov dword [esp + 0xe4], ecx
call fcn.0043d720
test eax, eax
je 0x44e1e3
cmp edi, 0xfffffff
mov dword [esp + 0x90], edi
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], 0
ja 0x44e1fb
lea esi, [edi*8]
test esi, esi
js 0x44e1fb
movzx eax, byte [0x476104]
mov ecx, esi
call fcn.0043d720
test eax, eax
je 0x44e205
lea ebx, [esp + 0x5c]
mov dword [esp + 0xbc], edi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x38], 0
jmp 0x44c50f
mov edi, dword [esp + 0xa0]
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0x44]
mov dword [eax + edx*8], ecx
mov dword [eax + edx*8 + 4], esi
inc edx
cmp dword [esp + 0x38], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0xc4], edx
je 0x44c887
mov dword [esp + 0xd0], eax
movzx eax, byte [0x476104]
mov ecx, 0x400
mov esi, 0x400
call fcn.0043d720
test eax, eax
je 0x44dd88
inc dword [esp + 0x38]
xor esi, esi
mov edi, 0x100
mov dword [esp + 0x5c], 0x100
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], 0
jmp 0x44c56c
mov esi, dword [esp + 0x64]
inc esi
dec edi
mov dword [esp + 0x64], esi
je 0x44c580
cmp esi, dword [esp + 0x5c]
jne 0x44c564
mov ecx, ebx
mov edx, esi
call fcn.0042dd30
jmp 0x44c560
mov edi, dword [esp + 0x60]
cmp dword [esp + 0x5c], esi
jbe 0x44c5b4
test esi, esi
je 0x44dfb4
lea ebx, [esi*4]
push ebx
push edi
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapReAlloc
mov ecx, edi
mov edi, eax
test eax, eax
je 0x44e005
cmp esi, 0x100
mov dword [esp + 0x80], esi
jne 0x44dfd4
movzx eax, byte [0x476104]
mov ecx, 0x18
call fcn.0043d720
test eax, eax
je 0x44ddbf
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], edi
mov ebx, eax
lock inc dword [eax]
mov eax, dword [esp + 0x50]
jle 0x44c252
mov dword [esp + 0x278], ebx
mov dword [esp + 0x13c], ebx
mov edi, dword [eax + 8]
lock inc dword [edi]
jle 0x44c252
movzx eax, byte [0x476104]
mov ecx, 0x18
call fcn.0043d720
test eax, eax
je 0x44ddd3
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 8], edi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov byte [eax + 0x14], 0
mov dword [esp + 0x9c], eax
mov esi, eax
lock inc dword [eax]
jle 0x44c252
mov dword [esp + 0x44], ebx
mov dword [esp + 0xc8], esi
call fcn.0041b6b0
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0xf0], ecx
mov eax, dword [esp + 0x44]
movzx ebx, byte [esp + 0x138]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x80], eax
lea ecx, [esp + 0x128]
call fcn.004483f0
test esi, esi
mov ecx, 0x3d
mov dword [esp + 0x16c], 0
mov dword [esp + 0x170], 0
mov esi, dword [esp + 0x70]
cmove edi, ecx
mov ecx, dword [esp + 0x44]
xor bl, 1
mov byte [esp + 0x17c], bl
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x40]
mov word [esp + 0x17d], 0
mov byte [esp + 0x17f], 0
mov dword [esp + 0x174], esi
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x144], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x148], ecx
mov dword [esp + 0x154], 0x40a99d60
mov dword [esp + 0x150], 0x864b8a7e
mov dword [esp + 0x158], 0
mov dword [esp + 0x178], edi
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
movzx eax, byte [0x476104]
mov ecx, 0x40
call fcn.0043d720
test eax, eax
je 0x44dde7
movsd xmm0, qword [esp + 0x178]
mov edi, eax
lea ebx, [esp + 0x5c]
movsd qword [eax + 0x38], xmm0
movsd xmm0, qword [esp + 0x170]
movsd qword [eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x168]
movsd qword [eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x160]
movsd qword [eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x158]
movsd qword [eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x150]
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x140]
movq xmm1, qword [esp + 0x148]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov edx, dword [esp + 0x98]
cmp edx, dword [esp + 0x90]
jne 0x44c82c
lea ecx, [esp + 0x90]
call fcn.0042dd30
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
mov dword [eax + edx*4], edi
inc edx
mov eax, dword [esp + 0x44]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], esi
cmp edx, dword [esp + 0xbc]
jne 0x44c4e0
lea ecx, [esp + 0xbc]
call fcn.0044ff00
mov edi, dword [esp + 0xa0]
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
jmp 0x44c4ee
movzx eax, byte [0x476104]
mov esi, dword [esp + 0xe4]
mov ecx, esi
call fcn.0043d720
test eax, eax
je 0x44dd88
mov ecx, dword [esp + 0x48]
mov ebx, eax
mov eax, dword [esp + 0xc0]
cmp dword [esp + 0xbc], ecx
jbe 0x44c982
test ecx, ecx
je 0x44c96b
lea esi, [ecx*8]
push esi
push eax
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapReAlloc
mov ecx, dword [esp + 0x48]
test eax, eax
jne 0x44c982
mov dword [esp + 0x44], ebx
mov ecx, 4
mov edx, esi
call fcn.004068b0
jmp 0x44c252
mov ebx, 4
mov eax, 4
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 4
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 4
mov dword [esp + 0x5c], 4
mov dword [esp + 0x98], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], 0
jmp 0x44c9b7
push eax
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
mov ecx, dword [esp + 0x48]
mov eax, 4
mov edx, edi
mov dword [esp + 0x5c], eax
mov eax, 4
mov dword [esp + 0x60], ecx
shl edx, 0x10
cmp edi, 2
mov dword [esp + 0x38], edx
jb 0x44c9b3
lea eax, [edi - 1]
bsr ecx, eax
mov eax, 0xffffffff
not ecx
shr eax, cl
lea eax, [eax*4 + 4]
mov dword [esp + 0x40], edi
cmp eax, 0x10000
mov edi, 0x10000
mov dword [esp + 0x44], ebx
cmovb edi, eax
lea eax, [edi - 1]
test edi, eax
mov dword [esp + 0x48], eax
setne al
test edi, edi
sete cl
or cl, al
jne 0x44e10f
lea eax, [edi*4]
lea esi, [eax + eax*2]
movzx eax, byte [0x476104]
mov ecx, esi
call fcn.0043d720
test eax, eax
je 0x44e12b
xor edx, edx
lea esi, [esp + 0x140]
mov dword [esp + 0x140], edi
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], 0
jmp 0x44ca55
lea ecx, [edx + edx*2]
inc edx
dec edi
mov dword [eax + ecx*4], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [esp + 0x148], edx
je 0x44ca75
cmp edx, dword [esp + 0x140]
jne 0x44ca30
mov ecx, esi
call fcn.0044fda0
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
jmp 0x44ca30
mov edi, dword [esp + 0x144]
cmp dword [esp + 0x140], edx
jbe 0x44cabb
test edx, edx
je 0x44cac3
lea eax, [edx*4]
mov dword [esp + 0x3c], edx
lea esi, [eax + eax*2]
push esi
push edi
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapReAlloc
test eax, eax
jne 0x44cada
mov ecx, 4
mov edx, esi
call fcn.004068b0
jmp 0x44c252
mov dword [esp + 0x3c], edx
mov eax, edi
jmp 0x44cada
mov dword [esp + 0x3c], edx
push edi
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
mov eax, 4
mov dword [esp + 0xf0], eax
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edx, dword [0x4620cc]
mov eax, dword [0x4620c8]
nop dword [eax + eax]
mov ebx, eax
mov ecx, edx
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x4620c8]
jne 0x44cb00
mov ecx, eax
or ecx, edx
je 0x44caf0
movsd xmm1, qword [esp + 0x128]
mov ecx, dword [esp + 0x138]
movsd xmm2, qword [esp + 0x120]
movq xmm0, qword [esp + 0x130]
lea edi, [esp + 0x158]
lea esi, [esp + 0x320]
mov ebx, dword [esp + 0x5c]
movsd qword [esp + 0x258], xmm1
movsd xmm1, qword [esp + 0x118]
mov dword [esp + 0x268], ecx
movsd qword [esp + 0x250], xmm2
movq xmm2, qword [esp + 0x108]
mov ecx, dword [esp + 0x80]
movq qword [esp + 0x260], xmm0
movsd qword [esp + 0x248], xmm1
movq xmm1, qword [esp + 0x110]
movq qword [esp + 0x238], xmm2
movq qword [esp + 0x240], xmm1
mov dword [esp + 0x1e9], ecx
mov ecx, dword [esp + 0x83]
mov dword [esp + 0x1ec], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x70], ecx
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 1
mov dword [esp + 0x148], 0
mov byte [esp + 0x14c], 0
movzx ecx, word [esp + 0xc8]
mov word [esp + 0x14d], cx
movzx ecx, byte [esp + 0xca]
mov byte [esp + 0x14f], cl
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x154], ecx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x1d0], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1d4], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1e4], edx
mov byte [esp + 0x1e8], 0
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 4
mov dword [esp + 0x1fc], 0
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x204], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x208], ebx
mov dword [esp + 0x20c], eax
movzx eax, word [esp + 0x9c]
mov dword [esp + 0x210], 1
mov dword [esp + 0x214], ecx
mov dword [esp + 0x218], 0
mov byte [esp + 0x21c], 0
mov word [esp + 0x21d], ax
movzx eax, byte [esp + 0x9e]
mov byte [esp + 0x21f], al
mov eax, dword [esp + 0x44]
mov dword [esp + 0x220], ecx
mov dword [esp + 0x224], eax
movzx eax, word [esp + 0x13c]
mov dword [esp + 0x22d], 0
mov dword [esp + 0x231], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x22c], 0
mov word [esp + 0x235], ax
movzx eax, byte [esp + 0x13e]
mov byte [esp + 0x237], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x270], eax
movzx eax, byte [0x476104]
mov ecx, 0x138
call fcn.0043d720
test eax, eax
je 0x44e13c
push 0x138
lea ecx, [esp + 0x144]
push ecx
mov dword [esp + 0xf8], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
lea eax, [esp + 0x90]
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 4
mov dword [esp + 0x88], 0
mov dword [esp + 0x98], 0
lea ecx, [edx + esi*4]
test esi, esi
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0
je 0x44cf2f
shl esi, 2
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x70], ecx
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], 4
mov dword [esp + 0x38], edx
neg esi
mov dword [esp + 0x40], esi
jmp 0x44ce83
mov eax, dword [esp + 0x48]
mov dword [eax + ebx*4], esi
mov esi, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x48], eax
inc ebx
mov dword [esp + 0x88], ebx
lea eax, [esi + ecx + 4]
add ecx, 4
cmp eax, 4
mov dword [esp + 0x44], ecx
je 0x44cf22
mov ecx, dword [esp + 0xf0]
mov eax, dword [edx + edi*4]
lock inc dword [ecx]
jle 0x44c252
mov dword [esp + 0x5c], 1
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x44]
inc edi
add eax, edx
mov dword [esp + 0x3c], eax
movzx eax, byte [0x476104]
mov ecx, 0x14
call fcn.0043d720
test eax, eax
je 0x44dd99
mov ecx, dword [esp + 0x6c]
mov esi, eax
mov dword [esi + 0x10], ecx
movq xmm0, qword [esp + 0x5c]
movq xmm1, qword [esp + 0x64]
movq qword [esi + 8], xmm1
movq qword [esi], xmm0
cmp ebx, dword [esp + 0x80]
jne 0x44ce50
lea ecx, [esp + 0x80]
mov edx, ebx
call fcn.0042dd30
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
jmp 0x44ce54
mov eax, dword [esp + 0x70]
mov dword [esp + 0x154], edi
jmp 0x44cf31
mov eax, edx
mov dword [esp + 0x140], eax
lea ecx, [esp + 0x140]
call fcn.00449070
movq xmm0, qword [esp + 0x80]
mov eax, dword [esp + 0x88]
xor ebx, ebx
movq qword [esp + 0x140], xmm0
mov dword [esp + 0x148], eax
lea ecx, [esp + 0x90]
call fcn.00440950
mov eax, dword [esp + 0xec]
lock dec dword [eax]
jne 0x44cf8a
lea ecx, [esp + 0xec]
call fcn.00441e80
mov eax, dword [esp + 0x148]
movq xmm0, qword [esp + 0x140]
mov dword [esp + 0x98], eax
movq qword [esp + 0x90], xmm0
call fcn.00442690
test eax, eax
je 0x44e06a
mov edx, eax
lea ecx, [esp + 0x140]
push dword [esp + 0xf0]
push 1
call fcn.00444980
add esp, 8
mov eax, dword [esp + 0x140]
cmp eax, 3
je 0x44e06a
movq xmm0, qword [esp + 0x90]
mov ecx, dword [esp + 0x144]
mov dword [esp + 0xbc], eax
mov edx, dword [esp + 0x148]
lea esi, [esp + 0x80]
movq qword [esp + 0x80], xmm0
mov dword [esp + 0x88], 0
mov dword [esp + 0xc0], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0x84]
test ecx, ecx
lea edx, [eax + ecx*4]
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], edx
mov dword [esp + 0x2b0], esi
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x2b8], 0
je 0x44dc66
jmp 0x44d084
mov eax, dword [esp + 0x2a8]
cmp eax, dword [esp + 0x2ac]
je 0x44dc66
lea ecx, [eax + 4]
mov dword [esp + 0x2a8], ecx
mov esi, dword [eax]
call fcn.00442690
test eax, eax
je 0x44ddfb
mov ecx, dword [eax]
cmp ecx, 0x7ffffffe
ja 0x44ddff
lea edx, [ecx + 1]
mov dword [eax], edx
mov edx, dword [eax + 4]
cmp edx, 2
je 0x44de0e
mov edi, dword [eax + 8]
mov ecx, 1
lock xadd dword [edi], ecx
test edx, edx
mov dword [esp + 0x44], edx
test ecx, ecx
js 0x44c252
dec dword [eax]
mov edx, dword [0x4620c4]
mov eax, dword [0x4620c0]
nop word cs:[eax + eax]
nop dword [eax]
mov ebx, eax
mov ecx, edx
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x4620c0]
jne 0x44d0f0
mov dword [esp + 0x140], 0xcc
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0x469a98
mov dword [esp + 0x154], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], edx
mov dword [esp + 0x164], 0
mov dword [esp + 0x160], 2
mov dword [esp + 0x168], esi
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
movzx eax, byte [0x476104]
mov ecx, 0xc0
call fcn.0043d720
test eax, eax
je 0x44de2a
mov edx, eax
lea ecx, [edi + 0x130]
and edx, 0xffffffc0
cmp dword [esp + 0x44], 0
mov dword [edx + 0x3c], eax
lea eax, [edi + 0x100]
lea esi, [edx + 0x40]
movaps xmm0, xmmword [esp + 0x140]
movdqa xmm1, xmmword [esp + 0x150]
cmovne eax, ecx
mov cl, 1
movaps xmmword [edx + 0x40], xmm0
movdqa xmmword [edx + 0x50], xmm1
movaps xmm0, xmmword [esp + 0x160]
movaps xmmword [edx + 0x60], xmm0
movaps xmm0, xmmword [esp + 0x170]
movaps xmmword [edx + 0x70], xmm0
movaps xmm0, xmmword [esp + 0x180]
movaps xmmword [edx + 0x80], xmm0
movaps xmm0, xmmword [esp + 0x190]
movaps xmmword [edx + 0x90], xmm0
movaps xmm0, xmmword [esp + 0x1a0]
movaps xmmword [edx + 0xa0], xmm0
movdqa xmm0, xmmword [esp + 0x1b0]
movdqa xmmword [edx + 0xb0], xmm0
mov dword [esp + 0xc8], esi
mov byte [esp + 0xcc], 1
mov edx, dword [eax]
xor eax, eax
mov dword [esp + 0x38], edx
lea ebx, [edx + 0x28]
lock cmpxchg byte [edx + 0x28], cl
je 0x44d259
mov ecx, ebx
call fcn.004101e0
mov eax, dword [esp + 0x38]
mov dword [esp + 0x48], ebx
cmp byte [eax + 0x78], 0
je 0x44d2b0
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x140], eax
lock sub dword [eax], 0x40
jb 0x44dee4
mov eax, dword [esp + 0x140]
mov bl, 4
mov ecx, dword [eax + 8]
mov ecx, dword [ecx + 0x18]
push eax
call ecx
add esp, 4
mov ecx, dword [esp + 0x48]
mov al, 1
xor edx, edx
lock cmpxchg byte [ecx], dl
jne 0x44db74
jmp 0x44db79
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0xc8]
movzx ecx, byte [esp + 0xcc]
mov ebx, eax
mov dword [esp + 0xd0], esi
mov dword [esp + 0x140], edi
mov byte [esp + 0x144], cl
mov byte [esp + 0x40], cl
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x3c]
cmp eax, ecx
jne 0x44d2f6
lea ecx, [ebx + 0x30]
call fcn.00442fc0
mov ecx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x3c]
mov edx, dword [ebx + 0x38]
mov esi, 0
add edx, eax
cmp edx, ecx
cmovb ecx, esi
mov esi, dword [ebx + 0x34]
inc eax
sub edx, ecx
mov ch, byte [esp + 0x40]
mov dword [esi + edx*8], edi
mov byte [esi + edx*8 + 4], ch
mov dword [ebx + 0x3c], eax
lock inc dword [ebx + 0xa0]
mov eax, dword [ebx + 0x9c]
test eax, eax
je 0x44d35f
lock dec dword [ebx + 0x9c]
inc dword [ebx + 0x60]
mov edx, dword [ebx + 0x90]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xd0]
test edx, edx
je 0x44db60
add ebx, 0x90
mov ecx, ebx
call fcn.0040ee30
jmp 0x44db60
mov eax, dword [ebx + 0x98]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xd0]
cmp eax, dword [ebx + 0x94]
je 0x44db60
mov eax, ebx
mov ebx, dword [ebx + 0x64]
test ebx, ebx
je 0x44e074
lock inc dword [ebx]
jle 0x44c252
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x9c], ebx
mov edi, eax
mov eax, dword [eax + 0x20]
mov dword [esp + 0x40], ecx
mov ecx, dword [edi + 0x24]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x14]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
push eax
lea eax, [esp + 0x144]
push eax
call ecx
add esp, 8
mov eax, dword [edi + 8]
test eax, eax
je 0x44d3d2
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x140]
mov edx, 1
mov edi, dword [esp + 0x144]
mov dword [esp + 0xa0], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x70]
lock xadd dword [ecx], edx
cmp dword [esp + 0x44], 0
je 0x44d414
mov ecx, 1
test edx, edx
jns 0x44d41e
jmp 0x44c252
xor ecx, ecx
test edx, edx
js 0x44c252
mov dword [esp + 0x108], ecx
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x40]
test eax, eax
mov dword [esp + 0x10c], edx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x110], ebx
jne 0x44d458
mov eax, dword [0x476098]
test eax, eax
je 0x44d4d9
dec eax
mov dword [esp + 0x50], eax
xor ebx, ebx
cmp dword [esp + 0xa0], 0x80000000
je 0x44d6b1
mov ecx, dword [esp + 0x3c]
cmp ecx, 8
jae 0x44d496
test ecx, ecx
je 0x44d67f
xor ecx, ecx
nop
cmp byte [edi + ecx], 0
je 0x44e01a
inc ecx
cmp dword [esp + 0x3c], ecx
jne 0x44d480
jmp 0x44d67f
lea eax, [edi + 3]
and eax, 0xfffffffc
sub eax, edi
je 0x44d4cd
cmp eax, ecx
cmovae eax, ecx
test eax, eax
je 0x44d4cd
xor ecx, ecx
nop dword [eax + eax]
cmp byte [edi + ecx], 0
je 0x44e01a
inc ecx
cmp eax, ecx
jne 0x44d4b0
mov ecx, dword [esp + 0x3c]
mov ebx, esi
add ecx, 0xfffffff8
jmp 0x44d620
mov ebx, esi
add ecx, 0xfffffff8
xor eax, eax
jmp 0x44d624
mov edx, str.RUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
lea ecx, [esp + 0x140]
push 0xe
call fcn.0043b9c0
add esp, 4
mov ebx, dword [esp + 0x140]
cmp ebx, 0x80000000
je 0x44d5e0
mov edx, dword [esp + 0x144]
lea ecx, [esp + 0x320]
mov dword [esp + 0x54], edx
push dword [esp + 0x148]
call fcn.00408520
add esp, 4
cmp dword [esp + 0x320], 0
mov al, 1
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], eax
jne 0x44d5c1
mov edx, dword [esp + 0x328]
test edx, edx
je 0x44d5c1
mov ebx, dword [esp + 0x324]
movzx eax, byte [ebx]
cmp eax, 0x2d
je 0x44d560
cmp eax, 0x2b
jne 0x44d565
dec edx
je 0x44d5c1
inc ebx
jmp 0x44d565
cmp edx, 1
je 0x44d5c1
cmp edx, 9
jae 0x44d594
xor ecx, ecx
movzx eax, byte [ebx]
add eax, 0xffffffd0
cmp eax, 9
ja 0x44d5c1
lea ecx, [ecx + ecx*4]
inc ebx
dec edx
lea ecx, [eax + ecx*2]
jne 0x44d56c
mov ebx, ecx
mov dword [esp + 0x4c], 0
cmp dword [esp + 0x58], 0
jne 0x44d5c8
jmp 0x44d5d9
xor eax, eax
test edx, edx
je 0x44d609
movzx ecx, byte [ebx]
mov dword [esp + 0x50], edx
mov edx, 0xa
mul edx
seto dl
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x44d5c1
test dl, dl
jne 0x44d5c1
mov edx, dword [esp + 0x50]
inc ebx
dec edx
add eax, ecx
jae 0x44d596
cmp dword [esp + 0x58], 0
je 0x44d5d9
push dword [esp + 0x54]
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
cmp byte [esp + 0x4c], 0
je 0x44d5e5
mov ebx, 0x200000
lea eax, [ebx + 1]
mov dword [esp + 0x50], ebx
mov dword [0x476098], eax
xor ebx, ebx
cmp dword [esp + 0xa0], 0x80000000
je 0x44d6b1
jmp 0x44d46b
mov dword [esp + 0x4c], 0
mov ebx, eax
cmp dword [esp + 0x58], 0
jne 0x44d5c8
jmp 0x44d5d9
cmp eax, ecx
ja 0x44d657
movq xmm0, qword [edi + eax]
movdqa xmm1, xmm0
paddd xmm1, xmmword [0x463340]
pandn xmm0, xmm1
pand xmm0, xmmword [0x463350]
movd edx, xmm0
pshufd xmm0, xmm0, 0x55
movd esi, xmm0
or esi, edx
jne 0x44d657
add eax, 8
jmp 0x44d620
mov edx, dword [esp + 0x3c]
mov esi, ebx
sub edx, eax
je 0x44d67f
lea ebx, [edi + eax]
xor ecx, ecx
nop word cs:[eax + eax]
cmp byte [ebx + ecx], 0
je 0x44e018
inc ecx
cmp edx, ecx
jne 0x44d670
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], eax
lea ecx, [esp + 0x140]
call fcn.004069e0
mov dword [esp + 0x4c], edx
mov ebx, eax
movzx eax, byte [0x476104]
mov ecx, 0x20
call fcn.0043d720
test eax, eax
je 0x44e090
mov dword [eax], 1
mov dword [eax + 4], 1
mov edi, eax
mov dword [eax + 0x10], ebx
mov eax, dword [esp + 0x4c]
mov dword [edi + 0x14], eax
movq xmm0, qword [0x4760b8]
movd eax, xmm0
pshufd xmm0, xmm0, 0x55
movd edx, xmm0
nop dword [eax + eax]
mov ebx, eax
mov ecx, edx
add ebx, 1
adc ecx, 0
jb 0x44dd7e
lock cmpxchg8b qword [0x4760b8]
jne 0x44d700
mov dword [edi + 8], ebx
mov dword [edi + 0xc], ecx
mov byte [edi + 0x18], 0
lock inc dword [edi]
jle 0x44c252
mov dword [esp + 0x140], 1
mov dword [esp + 0x144], 1
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0
movzx eax, byte [0x476104]
mov ecx, 0x18
call fcn.0043d720
test eax, eax
mov dword [esp + 0xa0], edi
je 0x44e0a4
movsd xmm0, qword [esp + 0x150]
mov dword [esp + 0x3c], eax
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0x140]
movq xmm1, qword [esp + 0x148]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
lock inc dword [eax]
jle 0x44c252
movzx eax, byte [0x476060]
mov cl, 1
xor ebx, ebx
mov dword [esp + 0x4c], ecx
test al, al
je 0x44d7f5
mov byte [0x476060], 1
call fcn.0043ceb0
test eax, eax
je 0x44e157
mov ecx, dword [eax]
mov dword [eax], 0
test ecx, ecx
je 0x44d7f5
lock inc dword [ecx]
jle 0x44c252
mov dword [esp + 0x4c], 0
mov ebx, ecx
mov ecx, ebx
call fcn.0043ce30
test eax, eax
je 0x44d80c
lock dec dword [eax]
jne 0x44d80c
mov ecx, eax
call fcn.00443080
movq xmm0, qword [esp + 0x108]
movq xmm1, qword [esp + 0x110]
mov ecx, dword [esp + 0x3c]
lea eax, [esp + 0x14c]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
mov dword [esp + 0x140], edi
mov dword [esp + 0x148], ebx
mov dword [esp + 0x144], ecx
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x44d858
lock inc dword [ecx + 0xc]
jle 0x44e180
movzx eax, byte [0x476104]
mov ecx, 0x1c
call fcn.0043d720
test eax, eax
je 0x44e0b8
mov edi, eax
mov eax, dword [esp + 0x158]
mov dword [edi + 0x18], eax
movsd xmm0, qword [esp + 0x150]
movsd qword [edi + 0x10], xmm0
movq xmm0, qword [esp + 0x140]
movq xmm1, qword [esp + 0x148]
movq qword [edi + 8], xmm1
movq qword [edi], xmm0
movzx eax, byte [0x476104]
mov ecx, 8
call fcn.0043d720
test eax, eax
je 0x44e0cc
mov ebx, eax
mov dword [eax], edi
mov dword [eax + 4], 0x468224
push 0
push 0x10000
push eax
push 0x43d500
push dword [esp + 0x60]
push 0
call sub.kernel32.dll_CreateThread
test eax, eax
je 0x44daac
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
lock inc dword [esi + 0x98]
inc dword [esi + 0x74]
mov edi, dword [esi + 0x5c]
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x54]
mov eax, dword [esi + 0x58]
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x3c], edx
push dword [esp + 0x40]
push edi
mov dword [esp + 0x58], eax
push eax
call fcn.004431a0
add esp, 0xc
cmp dword [esi + 0x48], 0
mov ebx, eax
jne 0x44d95f
lea ecx, [esi + 0x40]
mov edx, dword [esp + 0xa0]
push edi
push dword [esp + 0x54]
push dword [esp + 0x44]
call fcn.00443500
mov esi, dword [esp + 0x44]
add esp, 0xc
mov eax, ebx
mov ecx, dword [esi + 0x40]
mov esi, dword [esi + 0x44]
mov dword [esp + 0x4c], 0
mov dword [esp + 0xa0], 0
shr eax, 0x19
movd xmm0, eax
mov dword [esp + 0x58], eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
lea eax, [ecx - 0x10]
mov dword [esp + 0x50], ecx
pshufd xmm0, xmm0, 0
mov dword [esp + 0x3c], eax
and ebx, esi
mov edx, esi
movdqu xmm1, xmmword [ecx + ebx]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb eax, xmm2
nop word cs:[eax + eax]
nop dword [eax]
test ax, ax
je 0x44d9f0
tzcnt ecx, eax
mov edi, dword [esp + 0x3c]
lea esi, [eax - 1]
add ecx, ebx
and esi, eax
and ecx, edx
mov eax, ecx
shl eax, 4
sub edi, eax
mov eax, dword [esp + 0x40]
cmp dword [edi], eax
mov eax, esi
jne 0x44d9c0
jmp 0x44da4b
cmp dword [esp + 0xa0], 1
mov ecx, 1
mov esi, edx
je 0x44da18
pmovmskb eax, xmm1
xor ecx, ecx
test eax, eax
setne cl
tzcnt eax, eax
add eax, ebx
and eax, esi
mov dword [esp + 0x54], eax
mov dword [esp + 0xa0], ecx
pcmpeqd xmm2, xmm2
mov ecx, dword [esp + 0x50]
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test eax, eax
jne 0x44dbf6
mov eax, dword [esp + 0x4c]
lea ebx, [ebx + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x4c], eax
jmp 0x44d99e
mov edx, dword [esp + 0x50]
neg ecx
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xd0]
shl ecx, 4
mov eax, dword [edx + ecx - 4]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x64]
movsd xmm0, qword [edx + ecx - 0xc]
movsd qword [esp + 0x140], xmm0
mov dword [edx + ecx - 4], eax
movq xmm0, qword [esp + 0x5c]
movq qword [edx + ecx - 0xc], xmm0
cmp dword [esp + 0x140], 0
je 0x44db60
lea ecx, [esp + 0x140]
call fcn.004410c0
jmp 0x44db60
mov edi, dword [ebx + 4]
mov ecx, dword [ebx]
mov eax, dword [edi]
mov dword [esp + 0x40], ecx
push ecx
call eax
add esp, 4
cmp dword [edi + 4], 0
je 0x44dae4
cmp dword [edi + 8], 9
jae 0x44dacf
mov eax, dword [esp + 0x40]
jmp 0x44dad6
mov eax, dword [esp + 0x40]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
push ebx
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
call sub.kernel32.dll_GetLastError
mov ecx, dword [esp + 0x3c]
mov edi, eax
lock dec dword [ecx]
jne 0x44db07
call fcn.00441160
mov ecx, dword [esp + 0xa0]
lock dec dword [ecx]
jne 0x44db18
call fcn.00441120
mov dword [esp + 0x64], edi
mov dword [esp + 0x60], 0
mov dword [esp + 0x5c], 0
lea ecx, [esp + 0x60]
call fcn.004428a0
cmp al, 0xd
jne 0x44dbd5
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x98]
test eax, eax
je 0x44dbd5
lea eax, [esp + 0x60]
push eax
mov edi, dword [esp + 0x74]
call fcn.00442810
add esp, 4
mov ecx, dword [esp + 0x48]
mov al, 1
xor edx, edx
mov bl, 5
lock cmpxchg byte [ecx], dl
je 0x44db85
mov ecx, dword [esp + 0x48]
call fcn.0040ff10
mov eax, ebx
and al, 6
cmp al, 4
jne 0x44de42
lock dec dword [edi]
sete al
cmp dword [esp + 0x44], 0
je 0x44dba0
test al, al
je 0x44dbb0
mov ecx, edi
call fcn.004402e0
jmp 0x44dbb0
test al, al
je 0x44dbb0
mov ecx, edi
call fcn.004402b0
nop dword [eax + eax]
mov eax, 0xcc
mov ecx, 0x84
lock cmpxchg dword [esi], ecx
je 0x44d070
mov eax, dword [esi + 8]
mov eax, dword [eax + 0x10]
push esi
call eax
add esp, 4
jmp 0x44d070
mov eax, edi
shl edi, 0x18
xor ebx, ebx
mov dword [esp + 0x27c], edi
mov edi, dword [esp + 0x70]
shr eax, 8
mov dword [esp + 0xe4], eax
jmp 0x44d294
mov edi, dword [esp + 0x54]
movzx eax, byte [ecx + edi]
test al, al
js 0x44dc12
movdqa xmm0, xmmword [ecx]
pmovmskb eax, xmm0
tzcnt edi, eax
movzx eax, byte [ecx + edi]
mov edx, ecx
mov ecx, dword [esp + 0x38]
and al, 1
mov ebx, dword [esp + 0x58]
movzx eax, al
sub dword [ecx + 0x48], eax
lea eax, [edi - 0x10]
mov byte [edx + edi], bl
shl edi, 4
and eax, esi
mov esi, dword [esp + 0xd0]
mov byte [eax + edx + 0x10], bl
inc dword [ecx + 0x4c]
mov ecx, dword [esp + 0x40]
mov eax, edx
sub eax, edi
neg edi
mov dword [eax - 0x10], ecx
movq xmm0, qword [esp + 0x5c]
movq qword [edx + edi - 0xc], xmm0
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x64]
mov dword [eax - 4], ecx
jmp 0x44db60
lea ecx, [esp + 0x2a8]
call fcn.0044ffa0
lea ecx, [esp + 0x80]
call fcn.0044fe40
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xf0]
movsd xmm0, qword [esp + 0x280]
mov dword [eax], 1
mov dword [eax + 0x18], 1
mov dword [eax + 0x1c], ecx
movsd qword [eax + 0x20], xmm0
lea ecx, [esp + 0xbc]
call fcn.00444a90
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x3c]
cmp eax, 0x80000000
je 0x44ba79
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
lea edi, [esp + 0x2ac]
mov dword [esp + 0x2a8], eax
mov dword [esp + str.TOKIO_WORKER_THREADS___cannot_be_set_to_0], 0x4686a4
mov dword [esp + 0x140], 0x468740
mov dword [esp + 0x144], 2
mov dword [esp + 0x324], 0x407ee0
mov dword [esp + 0x150], 0
mov dword [esp + 0x70], edi
lea edi, [esp + 0x2a8]
mov dword [esp + 0x328], edi
mov dword [esp + 0x32c], 0x43c470
mov dword [esp + 0x2ac], ebx
mov dword [esp + 0x2b0], esi
shl ecx, 8
lea esi, [esp + 0x320]
mov dword [esp + 0x148], esi
mov dword [esp + 0x2b4], ecx
mov dword [esp + 0x14c], 2
lea ecx, [esp + 0x140]
mov edx, 0x468750
call fcn.00407170
jmp 0x44c252
call fcn.0041b0a0
jmp 0x44c252
mov ecx, 4
mov edx, esi
call fcn.004068b0
jmp 0x44c252
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x154], edi
mov dword [esp + 0x140], eax
mov ecx, 4
mov edx, 0x14
call fcn.004068b0
jmp 0x44c252
mov ecx, 8
mov edx, 0x18
call fcn.004068b0
jmp 0x44c252
mov ecx, 4
mov edx, 0x18
call fcn.004068b0
jmp 0x44c252
mov ecx, 8
mov edx, 0x40
call fcn.004068b0
jmp 0x44c252
mov al, 1
jmp 0x44de12
mov ecx, 0x468aec
call fcn.00408440
jmp 0x44c252
mov dword [eax], ecx
xor eax, eax
mov byte [esp + 0x140], al
lea ecx, [esp + 0x140]
call fcn.004427d0
jmp 0x44c252
mov dword [esp + 0x70], edi
mov ecx, 0x40
mov edx, pe_nt_image_headers32
call fcn.004068b0
jmp 0x44c252
mov eax, dword [esp + 0x27c]
mov byte [esp + 0x108], bl
mov dword [esp + 0xd0], esi
mov dword [esp + 0x70], edi
lea edi, [esp + 0x108]
lea esi, [esp + 0x320]
mov dword [esp + str.OS_cant_spawn_worker_thread:], 0x469fe8
mov dword [esp + 0x144], 1
mov dword [esp + 0x150], 0
mov dword [esp + 0x320], edi
mov dword [esp + 0x148], esi
mov dword [esp + 0x324], 0x43c2f0
mov dword [esp + 0x14c], 1
mov dword [esp + 0x109], eax
mov eax, dword [esp + 0xe4]
mov word [esp + 0x10d], ax
shr eax, 0x10
mov byte [esp + 0x10f], al
lea ecx, [esp + 0x140]
mov edx, 0x4693d0
call fcn.00407170
jmp 0x44c252
mov dword [esp + 0xd0], esi
mov dword [esp + 0x70], edi
mov edx, 0x27
mov ecx, str.assertion_failed:_prev.ref_count_____1
push 0x469f48
call fcn.00407d90
add esp, 4
jmp 0x44c252
mov al, 1
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x48]
mov dword [esp + str.TOKIO_WORKER_THREADS___cannot_be_set_to_0], 0x4686a4
mov dword [esp + 0x144], 0x407ee0
lea ecx, [esp + 0x320]
mov edx, 0x46879c
mov edi, 3
mov esi, 3
mov dword [esp + 0x320], 0x468784
mov dword [esp + 0xf0], ecx
mov byte [esp + 0x3b0], al
lea eax, [esp + 0x3b0]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x2a8]
mov dword [esp + 0x14c], 0x408140
mov dword [esp + 0x150], eax
lea eax, [esp + 0x140]
mov dword [esp + 0x154], 0x43c450
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], edi
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], esi
call fcn.00407170
jmp 0x44c252
push edi
push 0
push dword [0x4760c0]
call sub.kernel32.dll_HeapFree
mov dword [esp + 0x80], 0
mov edi, 4
xor esi, esi
mov dword [esp + 0x140], 0
mov edx, 0x469204
lea ecx, [esp + 0x80]
push 0x469284
lea eax, [esp + 0x144]
push eax
call fcn.004451c0
add esp, 8
jmp 0x44c252
mov esi, ecx
mov ecx, 4
mov edx, ebx
call fcn.004068b0
jmp 0x44c252
add ecx, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x144], edi
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], ecx
mov edx, 0x2f
mov ecx, str.thread_name_may_not_contain_interior_null_bytes
push 0x468214
push 0x468404
lea eax, [esp + 0x148]
push eax
call fcn.00408b30
add esp, 0xc
jmp 0x44c252
call fcn.00444a40
jmp 0x44c252
mov edx, 0x2e
mov ecx, str.assertion_failed:_shared.shutdown_tx.is_some___home_fifix_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.36.0_src_runtime_blocking_pool.rs
push 0x46a088
call fcn.00407d90
add esp, 4
jmp 0x44c252
mov ecx, 8
mov edx, 0x20
call fcn.004068b0
jmp 0x44c252
mov ecx, 4
mov edx, 0x18
call fcn.004068b0
jmp 0x44c252
mov ecx, 4
mov edx, 0x1c
call fcn.004068b0
jmp 0x44c252
mov ecx, 4
mov edx, 8
call fcn.004068b0
jmp 0x44c252
lea esi, [esp + 0x148]
mov ecx, 4
mov edx, 0x2c
call fcn.004068b0
jmp 0x44c252
mov ecx, 4
mov edx, 0x18
call fcn.004068b0
jmp 0x44c252
mov edx, 0x30
mov ecx, str.assertion_failed:_sharded_size.is_power_of_two___home_fifix_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tokio_1.36.0_src_util_sharded_list.rs
push 0x46a6b8
call fcn.00407d90
add esp, 4
jmp 0x44c252
mov ecx, 4
mov edx, esi
call fcn.004068b0
jmp 0x44c252
lea esi, [esp + 0x148]
mov ecx, 8
mov edx, 0x138
call fcn.004068b0
jmp 0x44c252
mov edx, 0x46
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_std_src_threadlocal.rs
push 0x4666dc
push 0x465acc
lea eax, [esp + 0x148]
push eax
call fcn.00408b30
add esp, 0xc
jmp 0x44c252
add ecx, 8
xor edx, edx
call fcn.0041b5e0
mov dword [esp + str.too_many_running_threads_in_thread_scopehaF], 0x466190
mov dword [esp + 0x324], 1
mov dword [esp + 0x330], 0
mov dword [esp + 0x328], str.Index_out_of_bounds
mov dword [esp + 0x32c], 0
lea ecx, [esp + 0x320]
mov edx, 0x4661b8
call fcn.00407170
jmp 0x44c252
mov bl, 1
call fcn.00406870
jmp 0x44c252
mov bl, 1
mov edx, dword [esp + 0xe4]
mov ecx, 4
call fcn.004068b0
jmp 0x44c252
call fcn.00406870
jmp 0x44c252
mov ecx, 4
mov edx, esi
call fcn.004068b0
jmp 0x44c252
mov ecx, 4
mov edx, 0x30
call fcn.004068b0
jmp 0x44c252
lea esi, [esp + 0x148]
mov ecx, 8
mov edx, 0x108
call fcn.004068b0
jmp 0x44c252
mov ecx, 4
mov edx, 0x100
call fcn.004068b0
jmp 0x44c252
lea ebx, [esp + 0x160]
mov ecx, 4
mov edx, 0x3c
call fcn.004068b0
jmp 0x44c252
mov dword [esp + str.TOKIO_WORKER_THREADS___cannot_be_set_to_0], 0x4686a4
mov dword [esp + 0x324], 0x407ee0
mov dword [esp + 0x140], 0x468694
mov edx, 0x468710
mov esi, 1
lea eax, [esp + 0x320]
mov edi, 2
jmp 0x44df93
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x2ac]
mov dword [esp + 0x70], edx
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], ecx
mov dword [esp + 0x2b0], esi
mov dword [esp + 0x48], 0
jmp 0x44df11