Function at 0x445423
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, 0xfffffff0
mov eax, 0x34c0
call fcn.0047df70
mov esi, esp
mov dword [esi + 0x34a8], ebp
lea eax, [esi + 0x34b0]
mov dword [eax - 4], esp
mov dword [eax + 8], 0xffffffff
mov dword [eax + 4], 0x47d800
mov ecx, dword fs:[0]
mov dword [eax], ecx
mov dword fs:[0], eax
mov al, byte [0x4c0b90]
xor ebx, ebx
xor ecx, ecx
mov edx, 8
call fcn.0046de40
test eax, eax
je 0x448742
mov edi, eax
xor eax, eax
inc eax
mov dword [edi + 4], eax
mov dword [edi], eax
call fcn.004722cd
xor ecx, ecx
inc ecx
cmp eax, ecx
adc eax, ebx
mov dword [esi + 0x160], ebx
mov byte [esi + 0x164], bl
mov dword [esi + 0x168], edx
mov dword [esi + 0x16c], eax
mov byte [esi + 0x180], 1
mov dword [esi + 0x170], 0x400
mov byte [esi + 0x183], bl
mov dword [esi + 0x110], ebx
mov dword [esi + 0x174], 0x200
mov dword [esi + 0x138], edi
mov dword [esi + 0x13c], 0x4b1d88
mov dword [esi + 0x118], ebx
mov dword [esi + 0x140], ebx
mov dword [esi + 0x148], ebx
mov dword [esi + 0x150], ebx
mov dword [esi + 0x158], ebx
mov dword [esi + 0x130], 0x3b9aca00
mov dword [esi + 0x120], ebx
mov dword [esi + 0x178], 0x3d
mov dword [esi + 0x17c], 0x100
mov word [esi + 0x184], 0
mov word [esi + 0x181], 0x101
lea edi, [esi + 0xa0]
mov ecx, edi
mov edx, str.TOKIO_WORKER_THREADS_registry_srcindex.crates.io_1cd66030c949c28d_tokio_1.37.0_srcloom_stdmod.rs__cannot_be_set_to_0
push 0x14
call fcn.00467aa0
add esp, 4
mov eax, dword [edi]
cmp eax, 0x80000000
je 0x4455d2
cmp eax, 0x80000001
jne 0x4488ba
mov eax, dword [esi + 0xac]
mov dword [esi + 0x48], eax
movq xmm0, qword [esi + 0xa4]
movq qword [esi + 0x40], xmm0
mov edi, dword [esi + 0x44]
lea ebx, [esi + 0x70]
mov ecx, ebx
mov edx, edi
push eax
call fcn.0040c4e0
add esp, 4
cmp byte [ebx], 0
jne 0x44890f
mov eax, dword [esi + 0x74]
test eax, eax
je 0x44896f
mov dword [esi + 0x3c], eax
cmp dword [esi + 0x40], 0
je 0x4455fe
push edi
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ah, byte [esi + 0x181]
mov al, byte [esi + 0x182]
mov bl, byte [esi + 0x183]
mov ecx, dword [esi + 0x170]
jmp 0x445609
pxor xmm0, xmm0
lea edi, [esi + 0x12f0]
movdqa xmmword [edi + 0x10], xmm0
movdqa xmmword [edi], xmm0
mov dword [edi + 0x20], 0
push edi
call sub.KERNEL32.dll_GetSystemInfo
mov eax, dword [edi + 0x14]
cmp eax, 1
adc eax, 0
mov dword [esi + 0x3c], eax
mov al, 1
mov ecx, 0x400
xor ebx, ebx
mov ah, 1
lea edx, [esi + 0x40]
mov byte [edx + 4], ah
mov byte [edx + 5], al
mov byte [edx + 6], 0
mov byte [edx + 7], bl
mov dword [edx], ecx
lea edi, [esi + 0x12f0]
mov ecx, edi
call fcn.004742b8
mov eax, dword [edi]
mov dword [esi + 0x9c], eax
cmp eax, 2
je 0x448751
lea eax, [esi + 0x12fc]
mov ecx, dword [eax - 8]
mov dword [esi + 4], ecx
mov ecx, dword [eax - 4]
mov dword [esi + 0xc], ecx
lea edi, [esi + 0x210]
push 0x8c
push eax
push edi
call fcn.0047eb10
add esp, 0xc
movdqu xmm0, xmmword [edi]
movdqa xmmword [esi + 0xc0], xmm0
mov eax, dword [edi + 0x10]
mov dword [esi + 0xd0], eax
lea eax, [esi + 0x224]
lea ecx, [esi + 0x198]
push 0x78
push eax
push ecx
call fcn.0047eb10
add esp, 0xc
lea ecx, [esi + 0x110]
mov edx, dword [ecx + 0x64]
add edx, dword [esi + 0x3c]
call fcn.004747d1
mov dword [esi + 0x24], eax
lock inc dword [eax]
jle 0x448718
mov ebx, edx
lea edi, [esi + 0x160]
mov ecx, edi
call fcn.00476d17
mov dword [esi + 8], eax
mov dword [esi + 0x18], edx
mov ecx, edi
call fcn.00476d17
mov dword [esi + 0x38], eax
mov eax, dword [edi - 0x10]
test eax, eax
mov dword [esi + 0x64], edx
je 0x4456e4
lock inc dword [eax]
jle 0x448718
mov ecx, dword [esi + 0x154]
jmp 0x4456e4
mov edx, dword [esi + 0x158]
test edx, edx
mov dword [esi + 0x6c], ebx
je 0x445702
lock inc dword [edx]
jle 0x448718
mov edi, dword [esi + 0x15c]
jmp 0x445702
mov ebx, dword [esi + 0x120]
mov dword [esi + 0x210], ebx
mov ebx, dword [esi + 0x124]
mov dword [esi + 0x214], ebx
mov ebx, dword [esi + 0x178]
mov dword [esi + 0x218], ebx
mov ebx, dword [esi + 0x17c]
mov dword [esi + 0x21c], ebx
mov dword [esi + 0x220], eax
mov dword [esi + 0x224], ecx
mov dword [esi + 0x228], edx
mov dword [esi + 0x22c], edi
movzx eax, word [esi + 0x184]
mov word [esi + 0x240], ax
mov dword [esi + 0x230], 0
mov byte [esi + 0x234], 0
mov eax, dword [esi + 8]
mov dword [esi + 0x238], eax
mov eax, dword [esi + 0x18]
mov dword [esi + 0x23c], eax
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x2c
call fcn.0046de40
test eax, eax
je 0x44875f
mov edi, eax
xor ebx, ebx
inc ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov eax, dword [esi + 0x9c]
mov dword [edi + 8], eax
mov eax, dword [esi + 4]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0x10], eax
movdqa xmm0, xmmword [esi + 0xc0]
movdqu xmmword [edi + 0x14], xmm0
mov eax, dword [esi + 0xd0]
mov dword [edi + 0x24], eax
mov byte [edi + 0x28], 0
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x18
call fcn.0046de40
test eax, eax
je 0x4484dd
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], edi
xor edi, edi
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
mov dword [esi + 0x30], eax
mov byte [eax + 0x14], 0
mov ebx, dword [esi + 0x3c]
mov ecx, ebx
xor edx, edx
call fcn.00477894
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
mov dword [esi + 0x78], edi
cmp ebx, 0xfffffff
ja 0x4486b1
lea edi, [ebx*8]
test edi, edi
js 0x4486b1
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, edi
call fcn.0046de40
test eax, eax
je 0x4486cd
lea ecx, [esi + 0xa0]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov dword [ecx + 8], 0
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov ebx, 0x100
xor edi, edi
mov ecx, 0x100
xor edx, edx
call fcn.00477894
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
mov dword [esi + 0x48], 0
cmp edi, dword [esi + 0x40]
jne 0x44588c
lea ecx, [esi + 0x40]
mov edx, edi
call fcn.0044ba29
mov edi, dword [esi + 0x48]
inc edi
mov dword [esi + 0x48], edi
dec ebx
jne 0x44587a
mov ebx, dword [esi + 0x44]
cmp dword [esi + 0x40], edi
jbe 0x4458c7
test edi, edi
je 0x4485bd
lea eax, [edi*4]
mov dword [esi + 4], eax
push eax
push ebx
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov ebx, eax
test eax, eax
je 0x4485f7
mov dword [esi + 0xfc], edi
cmp edi, 0x100
jne 0x4485d2
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x18
call fcn.0046de40
test eax, eax
je 0x4484e4
movdqa xmm0, xmmword [0x493710]
movdqu xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], ebx
lock inc dword [eax]
mov ecx, dword [esi + 0x30]
jle 0x448718
mov dword [esi + 4], eax
mov ebx, dword [ecx + 8]
lock inc dword [ebx]
jle 0x448718
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x18
call fcn.0046de40
test eax, eax
je 0x4484dd
mov edi, eax
xor eax, eax
inc eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], ebx
xor eax, eax
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov byte [edi + 0x14], 0
lock inc dword [edi]
jle 0x448718
call fcn.00462dc0
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov dword [esi + 0x14], ecx
mov al, byte [esi + 0x240]
mov byte [esi + 8], al
mov eax, dword [esi + 0x210]
mov dword [esi + 0x20], eax
mov eax, dword [esi + 0x214]
mov dword [esi + 0x18], eax
lea ecx, [esi + 0x230]
call fcn.00476d17
mov dword [esi + 0x34], eax
mov dword [esi + 0x28], edx
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x40
call fcn.0046de40
test eax, eax
je 0x4484f3
mov ebx, eax
mov dl, byte [esi + 8]
xor dl, 1
cmp dword [esi + 0x20], 0
mov eax, dword [esi + 0x10]
mov dword [ebx], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 8], eax
mov dword [ebx + 0x14], 0x40a99d60
mov dword [ebx + 0x10], 0x864b8a7e
mov eax, 0
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x20], eax
mov ecx, 0x3d
mov eax, dword [esi + 0x18]
cmove eax, ecx
mov ecx, dword [esi + 0x28]
mov dword [ebx + 0x24], ecx
mov ecx, dword [esi + 4]
mov dword [ebx + 0x28], ecx
xor ecx, ecx
mov dword [ebx + 0x2c], ecx
mov dword [ebx + 0x30], ecx
mov dword [ebx + 0x34], edi
mov dword [ebx + 0x38], eax
mov byte [ebx + 0x3c], dl
mov word [ebx + 0x3d], 0
mov byte [ebx + 0x3f], 0
mov edx, dword [esi + 0x78]
cmp edx, dword [esi + 0x70]
jne 0x445a2f
lea ecx, [esi + 0x70]
call fcn.0044ba29
mov edx, dword [esi + 0x78]
mov eax, dword [esi + 0x74]
mov dword [eax + edx*4], ebx
inc dword [esi + 0x78]
mov edx, dword [esi + 0xa8]
cmp edx, dword [esi + 0xa0]
jne 0x445a57
lea ecx, [esi + 0xa0]
call fcn.0047793d
mov edx, dword [esi + 0xa8]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0xa4]
mov ebx, dword [esi + 4]
mov dword [eax + edx*8], ebx
mov dword [eax + edx*8 + 4], edi
inc ecx
inc edx
mov dword [esi + 0xa8], edx
mov ebx, dword [esi + 0x3c]
cmp ecx, ebx
jne 0x445857
mov dword [esi + 8], eax
mov ecx, ebx
mov dword [esi + 0xc], edx
xor edx, edx
call fcn.00477894
mov dword [esi + 0x10], eax
mov dword [esi + 0x1c], edx
mov eax, dword [esi + 0xc]
cmp dword [esi + 0xa0], eax
jbe 0x445ade
test eax, eax
je 0x445ac6
lea edi, [eax*8]
push edi
push dword [esi + 8]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov dword [esi + 8], eax
test eax, eax
jne 0x445ade
jmp 0x4486cd
push dword [esi + 8]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi + 8], 4
lea eax, [ebx - 1]
bsr ecx, eax
not ecx
xor eax, eax
dec eax
shr eax, cl
lea eax, [eax*4 + 4]
mov ecx, 0x10000
cmp eax, ecx
cmovb ecx, eax
cmp ebx, 2
mov edi, 4
cmovae edi, ecx
popcnt eax, edi
cmp eax, 1
jne 0x44876e
xor ebx, ebx
mov ecx, edi
xor edx, edx
call fcn.004778e7
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], edx
mov dword [esi + 0x48], 0
mov dword [esi + 0x18], edi
test edi, edi
je 0x445b66
mov edi, dword [esi + 0x18]
xor eax, eax
cmp eax, dword [esi + 0x40]
jne 0x445b4d
lea ecx, [esi + 0x40]
mov edx, eax
call fcn.0044bb5b
mov edx, dword [esi + 0x44]
mov eax, dword [esi + 0x48]
lea eax, [eax + eax*2]
mov byte [edx + eax*4], 0
mov dword [edx + eax*4 + 4], ebx
mov dword [edx + eax*4 + 8], ebx
mov eax, dword [esi + 0x48]
inc eax
mov dword [esi + 0x48], eax
dec edi
jne 0x445b38
mov eax, dword [esi + 0x48]
lea edi, [esi + 0x12f0]
mov dword [edi + 8], eax
movsd xmm0, qword [esi + 0x40]
movsd qword [edi], xmm0
mov ecx, edi
call fcn.004777ce
mov eax, dword [edi + 4]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 8]
mov dword [esi + 0x34], eax
mov edx, dword [0x4c00c4]
mov edi, dword [0x4c00c0]
mov ebx, edi
add ebx, 1
mov ecx, edx
adc ecx, 0
mov eax, edi
lock cmpxchg8b qword [0x4c00c0]
mov edi, eax
jne 0x445b9a
mov eax, edi
or eax, edx
je 0x445b8e
mov dword [esi + 0x28], edx
mov eax, dword [esi + 0x240]
mov dword [esi + 0x1320], eax
movups xmm0, xmmword [esi + 0x230]
movaps xmmword [esi + 0x1310], xmm0
movups xmm0, xmmword [esi + 0x210]
movups xmm1, xmmword [esi + 0x220]
movaps xmmword [esi + 0x1300], xmm1
movaps xmmword [esi + 0x12f0], xmm0
mov al, byte [0x4c0b90]
xor ebx, ebx
xor ecx, ecx
mov edx, 0x138
call fcn.0046de40
test eax, eax
je 0x448782
xor ecx, ecx
inc ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ebx
mov byte [eax + 0xc], bl
mov dword [esi + 4], eax
movzx eax, word [esi + 0x18c]
mov ecx, dword [esi + 4]
mov word [ecx + 0xd], ax
mov al, byte [esi + 0x18e]
mov ecx, dword [esi + 4]
mov byte [ecx + 0xf], al
mov ebx, dword [esi + 0x18]
dec ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x38]
mov dword [eax + 0x10], ecx
mov eax, dword [esi + 0x3c]
shl eax, 0x10
mov dword [esi + 0x18], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x64]
mov dword [eax + 0x14], ecx
mov eax, dword [esi + 4]
add eax, 0x18
push 0x78
lea ecx, [esi + 0x198]
push ecx
push eax
call fcn.0047eb10
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x14]
mov dword [eax + 0x90], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x34]
mov dword [eax + 0x94], ecx
mov eax, dword [esi + 4]
xor edx, edx
mov dword [eax + 0x98], edx
mov eax, dword [esi + 4]
mov dword [eax + 0x9c], ebx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x28]
mov dword [eax + 0xa4], ecx
mov eax, dword [esi + 4]
mov dword [eax + 0xa0], edi
mov eax, dword [esi + 4]
mov byte [eax + 0xa8], dl
mov eax, dword [esi + 4]
mov byte [eax + 0xb0], dl
mov eax, dword [esi + 4]
mov dword [eax + 0xb4], edx
mov ecx, 4
mov eax, dword [esi + 4]
mov dword [eax + 0xb8], ecx
mov eax, dword [esi + 4]
mov dword [eax + 0xbc], edx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x18]
mov dword [eax + 0xc0], ecx
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x3c]
mov dword [eax + 0xc4], edi
mov eax, dword [esi + 4]
mov ecx, dword [esi + 8]
mov dword [eax + 0xc8], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xcc], ecx
mov eax, dword [esi + 4]
mov ecx, 1
mov dword [eax + 0xd0], ecx
mov eax, dword [esi + 4]
mov dword [eax + 0xd4], edi
mov eax, dword [esi + 4]
mov dword [eax + 0xd8], edx
mov eax, dword [esi + 4]
mov byte [eax + 0xdc], dl
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
mov dword [eax + 0xe0], ecx
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x1c]
mov dword [eax + 0xe4], ecx
mov eax, dword [esi + 4]
mov dword [eax + 0xec], edx
mov eax, dword [esi + 4]
mov dword [eax + 0xe8], edx
mov eax, dword [esi + 4]
mov dword [eax + 0xf1], edx
mov eax, dword [esi + 4]
mov dword [eax + 0xed], edx
mov ebx, 0
movaps xmm0, xmmword [esi + 0x12f0]
movdqa xmm1, xmmword [esi + 0x1300]
mov eax, dword [esi + 4]
movups xmmword [eax + 0xf8], xmm0
mov eax, dword [esi + 4]
movdqu xmmword [eax + 0x108], xmm1
movdqa xmm0, xmmword [esi + 0x1310]
mov eax, dword [esi + 4]
movdqu xmmword [eax + 0x118], xmm0
mov eax, dword [esi + 0x1320]
mov ecx, dword [esi + 4]
mov dword [ecx + 0x128], eax
mov eax, dword [esi + 0x24]
mov ecx, dword [esi + 4]
mov dword [ecx + 0x130], eax
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x74]
mov edi, dword [esi + 0x78]
mov dword [esi + 0x10], ecx
lea edx, [ecx + edi*4]
mov dword [esi + 0x12f4], edx
lea ecx, [esi + 0x70]
mov dword [esi + 0x12f8], ecx
mov ecx, edi
mov dword [esi + 0x40], ebx
mov edi, 4
mov dword [esi + 0x44], edi
mov dword [esi + 0x48], ebx
mov dword [esi + 0x78], ebx
mov dword [esi + 0x12fc], ecx
mov dword [esi + 0x1300], ebx
mov dword [esi + 0x1304], ebx
test ecx, ecx
je 0x445ebe
mov dword [esi + 0x14], edx
shl ecx, 2
mov dword [esi + 0x1c], ecx
xor ebx, ebx
xor edx, edx
mov ecx, dword [esi + 0x10]
mov dword [esi + 0x18], edi
mov dword [esi + 8], ebx
mov dword [esi + 0xc], edx
mov edi, dword [ecx + edx*4]
lock inc dword [eax]
jle 0x448718
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x14
call fcn.0046de40
test eax, eax
je 0x448520
mov ebx, eax
xor eax, eax
inc eax
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov eax, dword [esi + 4]
mov dword [ebx + 8], eax
mov ecx, dword [esi + 0xc]
mov dword [ebx + 0xc], ecx
mov dword [ebx + 0x10], edi
mov edx, dword [esi + 8]
cmp edx, dword [esi + 0x40]
jne 0x445e8d
lea ecx, [esi + 0x40]
call fcn.0044ba29
mov eax, dword [esi + 4]
mov edi, dword [esi + 0x44]
mov edx, dword [esi + 0x48]
mov ecx, dword [esi + 0x10]
jmp 0x445e93
mov ecx, dword [esi + 0x10]
mov edi, dword [esi + 0x18]
mov dword [edi + edx*4], ebx
mov ebx, dword [esi + 0x48]
inc ebx
mov dword [esi + 0x48], ebx
mov edx, dword [esi + 0xc]
inc edx
add dword [esi + 0x1c], 0xfffffffc
jne 0x445e28
mov dword [esi + 0x1304], edx
mov eax, dword [esi + 0x40]
mov dword [esi + 0x94], eax
mov edi, dword [esi + 0x44]
mov eax, dword [esi + 0x14]
jmp 0x445ecd
xor ebx, ebx
mov dword [esi + 0x94], 0
mov eax, dword [esi + 0x10]
lea ecx, [esi + 0x12f0]
mov dword [ecx], eax
call fcn.004779ee
lea ecx, [esi + 0x70]
call fcn.00477153
mov ecx, dword [esi + 0x30]
lock dec dword [ecx]
jne 0x445eef
call fcn.004775c6
lea ecx, [esi + 0xa0]
xor edx, edx
inc edx
push dword [esi + 4]
call fcn.00471ddc
add esp, 4
lea ecx, [edi + ebx*4]
test ebx, ebx
mov dword [esi + 0x3c], edi
je 0x4466ed
mov al, 1
mov dword [esi + 0x60], eax
mov ebx, edi
mov dword [esi + 0x20], ecx
mov edi, dword [ebx]
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x448538
mov ecx, dword [eax]
cmp ecx, 0x7fffffff
jae 0x448516
lea edx, [ecx + 1]
mov dword [eax], edx
mov edx, dword [eax + 4]
cmp edx, 2
je 0x44852f
mov dword [esi + 0x18], edx
test edx, edx
mov dword [esi + 0xc], edi
je 0x445f67
mov edx, dword [eax + 8]
lock inc dword [edx]
mov ecx, 1
jg 0x445f75
jmp 0x448718
mov edx, dword [eax + 8]
xor ecx, ecx
lock inc dword [edx]
jle 0x448718
add ebx, 4
mov dword [esi + 8], ebx
dec dword [eax]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x10], edx
mov dword [esi + 0x74], edx
mov edx, dword [0x4c00bc]
mov edi, dword [0x4c00b8]
mov ebx, edi
add ebx, 1
mov ecx, edx
adc ecx, 0
mov eax, edi
lock cmpxchg8b qword [0x4c00b8]
mov edi, eax
jne 0x445f92
mov dword [esi + 0x1c], edx
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0xc0
call fcn.0046de40
test eax, eax
je 0x448548
mov edx, eax
mov ecx, eax
and edx, 0xffffffc0
mov ebx, dword [esi + 0x10]
lea eax, [ebx + 0x130]
mov dword [esi + 0x14], eax
add ebx, 0x100
cmp dword [esi + 0x18], 0
mov dword [edx + 0x3c], ecx
mov dword [edx + 0x40], 0xcc
mov ecx, 0
mov dword [edx + 0x44], ecx
mov dword [edx + 0x48], 0x4b2438
mov dword [edx + 0x54], ecx
mov dword [edx + 0x50], ecx
mov eax, dword [esi + 0x1c]
mov dword [edx + 0x5c], eax
mov dword [edx + 0x58], edi
mov dword [edx + 0x64], ecx
mov dword [edx + 0x60], 2
mov edi, dword [esi + 0xc]
mov dword [edx + 0x68], edi
mov dword [edx + 0x78], ecx
mov dword [edx + 0x7c], ecx
mov dword [edx + 0x80], ecx
cmovne ebx, dword [esi + 0x14]
mov ebx, dword [ebx]
lea eax, [ebx + 0x28]
mov dword [esi + 0x18], eax
xor eax, eax
mov edi, edx
mov dl, 1
lock cmpxchg byte [ebx + 0x28], dl
mov edx, ebx
jne 0x44618c
add edi, 0x40
cmp byte [edx + 0x78], 0
mov ebx, dword [esi + 8]
mov dword [esi + 0xc], edi
je 0x44607a
lock sub dword [edi], 0x40
jb 0x448675
mov eax, dword [edi + 8]
push edi
call dword [eax + 0x18]
add esp, 4
mov edx, dword [esi + 0x34]
and edx, 0xffffff00
or edx, 4
jmp 0x446602
mov ecx, dword [edx + 0x30]
mov eax, dword [edx + 0x3c]
cmp eax, ecx
jne 0x446096
lea ecx, [edx + 0x30]
mov edi, edx
call fcn.00472d96
mov edx, edi
mov ecx, dword [edi + 0x30]
mov eax, dword [edi + 0x3c]
mov dword [esi + 0x28], edx
add eax, dword [edx + 0x38]
cmp eax, ecx
mov edx, 0
cmovb ecx, edx
sub eax, ecx
mov ecx, dword [esi + 0x28]
mov ecx, dword [ecx + 0x34]
mov edx, dword [esi + 0xc]
mov dword [ecx + eax*8], edx
mov edx, dword [esi + 0x28]
mov byte [ecx + eax*8 + 4], 1
inc dword [edx + 0x3c]
lock inc dword [edx + 0xa0]
mov eax, dword [edx + 0x9c]
test eax, eax
je 0x4460fa
lock dec dword [edx + 0x9c]
inc dword [edx + 0x60]
mov ecx, edx
mov edx, dword [edx + 0x90]
test edx, edx
je 0x4465f6
add ecx, 0x90
call fcn.0048fae8
jmp 0x4465f6
mov eax, dword [edx + 0x98]
cmp eax, dword [edx + 0x94]
je 0x4465f6
mov ebx, dword [edx + 0x64]
test ebx, ebx
je 0x4486d9
lock inc dword [ebx]
jle 0x448718
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
add eax, edx
add eax, 8
mov edx, dword [esi + 0x28]
mov edx, dword [edx + 0x74]
mov dword [esi + 0x10], edx
push eax
lea eax, [esi + 0x12f0]
push eax
call dword [ecx + 0x14]
mov ecx, dword [esi + 0x28]
add esp, 8
mov eax, dword [ecx + 8]
test eax, eax
je 0x446156
mov edx, dword [ecx + 0xc]
mov ecx, dword [esi + 0x12f0]
mov dword [esi + 0x1c], ecx
mov ecx, dword [esi + 0x12f4]
mov dword [esi + 0x14], ecx
mov edi, dword [esi + 0x12f8]
cmp dword [esi + 0x70], 0
je 0x44619d
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x38], ecx
lock inc dword [ecx]
mov ecx, 1
mov dword [esi + 0x64], ecx
jg 0x4461b3
jmp 0x448718
mov ecx, dword [esi + 0x18]
mov ebx, edx
call fcn.0048f69d
mov edx, ebx
jmp 0x446046
mov ecx, dword [esi + 0x74]
mov dword [esi + 0x64], 0
mov dword [esi + 0x38], ecx
lock inc dword [ecx]
jle 0x448718
test eax, eax
jne 0x446278
mov edx, dword [0x4c0af0]
test edx, edx
je 0x4461cb
dec edx
jmp 0x446278
lea ecx, [esi + 0x12f0]
mov edx, str.RUST_MIN_STACKfatal_runtime_error:_assertion_failed:_thread_info.stack_guard.get__.is_none____thread_info.thread.get__.is_none___n
push 0xe
call fcn.00466b00
add esp, 4
mov eax, dword [esi + 0x12f0]
cmp eax, 0x80000000
je 0x44626b
mov dword [esi + 0x30], eax
mov edx, dword [esi + 0x12f4]
lea ecx, [esi + 0x210]
mov dword [esi + 0x68], edx
push dword [esi + 0x12f8]
call fcn.00407a90
add esp, 4
xor eax, eax
cmp dword [esi + 0x210], 0
jne 0x446244
mov edx, dword [esi + 0x214]
lea ecx, [esi + 0x210]
push dword [esi + 0x218]
call fcn.0040c4e0
add esp, 4
xor eax, eax
cmp byte [esi + 0x210], 0
sete al
mov edx, dword [esi + 0x214]
cmp dword [esi + 0x30], 0
je 0x446267
push dword [esi + 0x68]
push 0
push dword [0x4c0b18]
mov dword [esi + 0x30], edx
mov dword [esi + 0x68], eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0x68]
mov edx, dword [esi + 0x30]
test eax, eax
jne 0x446270
mov edx, 0x200000
lea eax, [edx + 1]
mov dword [0x4c0af0], eax
mov dword [esi + 0x30], edx
xor ecx, ecx
cmp dword [esi + 0x1c], 0x80000000
je 0x4462eb
cmp edi, 8
jae 0x4462a5
test edi, edi
mov eax, dword [esi + 0x14]
je 0x4462b5
xor edx, edx
cmp byte [eax + edx], 0
je 0x4462bb
inc edx
cmp edi, edx
jne 0x446294
xor eax, eax
mov edx, edi
jmp 0x4462be
xor ecx, ecx
mov edx, dword [esi + 0x14]
push edi
call fcn.00409870
add esp, 4
jmp 0x4462be
xor edx, edx
xor eax, eax
jmp 0x4462be
xor eax, eax
inc eax
test eax, eax
jne 0x4487e9
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x12f0], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x12f4], eax
mov dword [esi + 0x12f8], edi
lea ecx, [esi + 0x12f0]
call fcn.00401310
mov ecx, eax
call fcn.004600c0
mov dword [esi + 0x14], eax
lock inc dword [eax]
jle 0x448718
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x18
call fcn.0046de40
test eax, eax
je 0x4484dd
movdqa xmm0, xmmword [0x493710]
movdqu xmmword [eax], xmm0
mov dword [esi + 0x1c], eax
lock inc dword [eax]
jle 0x448718
xor ecx, ecx
call fcn.0046c3a0
mov edi, eax
test eax, eax
je 0x446347
lock inc dword [edi]
jle 0x448718
mov ecx, edi
jmp 0x446349
xor ecx, ecx
call fcn.0046c3a0
test eax, eax
je 0x44635e
lock dec dword [eax]
jne 0x44635e
mov ecx, eax
call fcn.0047785e
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x446372
lock inc dword [ecx + 0xc]
jle 0x4487b3
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x1c
call fcn.0046de40
test eax, eax
je 0x4486ed
mov ecx, eax
mov eax, dword [esi + 0x14]
mov dword [ecx], eax
mov eax, dword [esi + 0x1c]
mov dword [ecx + 4], eax
mov dword [ecx + 8], edi
mov eax, dword [esi + 0x64]
mov dword [ecx + 0xc], eax
mov eax, dword [esi + 0x38]
mov dword [ecx + 0x10], eax
mov dword [ecx + 0x14], ebx
mov eax, dword [esi + 0x10]
mov dword [ecx + 0x18], eax
mov al, byte [0x4c0b90]
mov ebx, ecx
xor ecx, ecx
mov edx, 8
call fcn.0046de40
test eax, eax
je 0x4486fc
mov edi, eax
mov dword [eax], ebx
mov dword [eax + 4], 0x4b1140
xor eax, eax
push eax
push 0x10000
push edi
push 0x46d6d0
push dword [esi + 0x30]
push eax
call dword [sym.imp.KERNEL32.dll_CreateThread]
test eax, eax
je 0x446544
mov ecx, dword [esi + 0x1c]
mov dword [esi + 0x44], ecx
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x40], eax
mov ebx, dword [esi + 0x28]
lock inc dword [ebx + 0x98]
inc dword [ebx + 0x74]
mov ecx, dword [ebx + 0x50]
mov edx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x58]
mov edi, dword [ebx + 0x5c]
mov dword [esi + 0x14], ecx
mov dword [esi + 0x1c], edx
push dword [esi + 0x10]
push edi
mov dword [esi + 0x30], eax
push eax
call fcn.00472af7
add esp, 0xc
cmp dword [ebx + 0x48], 0
je 0x446670
mov edx, dword [ebx + 0x40]
mov ecx, dword [ebx + 0x44]
mov dword [esi + 0x1c], ecx
mov ebx, ecx
and ebx, eax
shr eax, 0x19
mov dword [esi + 0x64], eax
movd xmm0, eax
pxor xmm1, xmm1
pshufb xmm0, xmm1
mov dword [esi + 0x38], 0
mov dword [esi + 0x30], 0
mov dword [esi + 0x14], edx
mov edi, ebx
movdqu xmm1, xmmword [edx + ebx]
movdqa xmm2, xmm1
pcmpeqb xmm2, xmm0
pmovmskb edx, xmm2
test dx, dx
je 0x4464a8
bsf ecx, edx
lea ebx, [edx - 1]
and ebx, edx
add ecx, edi
and ecx, dword [esi + 0x1c]
shl ecx, 4
mov eax, dword [esi + 0x14]
sub eax, ecx
mov edx, ebx
mov ecx, dword [esi + 0x10]
cmp ecx, dword [eax - 0x10]
jne 0x446482
jmp 0x4464fe
cmp dword [esi + 0x30], 1
mov ecx, 1
mov ebx, edi
je 0x4464cb
pmovmskb eax, xmm1
xor ecx, ecx
test eax, eax
setne cl
bsf eax, eax
add eax, ebx
and eax, dword [esi + 0x1c]
mov dword [esi + 0x68], eax
mov dword [esi + 0x30], ecx
pcmpeqd xmm2, xmm2
pcmpeqb xmm1, xmm2
pmovmskb eax, xmm1
test eax, eax
mov ecx, dword [esi + 0x28]
mov edx, dword [esi + 0x14]
jne 0x446691
mov eax, dword [esi + 0x38]
add ebx, eax
add ebx, 0x10
add eax, 0x10
mov dword [esi + 0x38], eax
and ebx, dword [esi + 0x1c]
jmp 0x44646f
mov ecx, dword [eax - 4]
mov dword [esi + 0x12f8], ecx
movsd xmm0, qword [eax - 0xc]
movsd qword [esi + 0x12f0], xmm0
mov ecx, dword [esi + 0x48]
mov dword [eax - 4], ecx
movq xmm0, qword [esi + 0x40]
movq qword [eax - 0xc], xmm0
cmp dword [esi + 0x12f0], 0
mov ebx, dword [esi + 8]
je 0x4465f6
lea ecx, [esi + 0x12f0]
call fcn.00471e4a
jmp 0x4465f6
mov eax, dword [edi]
mov dword [esi + 0x30], edi
mov ecx, dword [edi + 4]
mov dword [esi + 0x34b8], 1
mov dword [esi + 0x38], eax
push eax
mov dword [esi + 0x10], ecx
call dword [ecx]
add esp, 4
mov eax, dword [esi + 0x10]
cmp dword [eax + 4], 0
mov edi, dword [esi + 0x30]
je 0x44658e
cmp dword [eax + 8], 9
jae 0x446579
mov eax, dword [esi + 0x38]
jmp 0x44657f
mov eax, dword [esi + 0x38]
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push edi
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, eax
mov ecx, dword [esi + 0x1c]
lock dec dword [ecx]
jne 0x4465b2
call fcn.00476e90
mov ecx, dword [esi + 0x14]
lock dec dword [ecx]
jne 0x4465bf
call fcn.00476e52
xor eax, eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], edi
mov dword [esi + 0x40], eax
lea ecx, [esi + 0x44]
call fcn.004714e0
cmp al, 0xd
jne 0x446663
mov eax, dword [esi + 0x28]
mov eax, dword [eax + 0x98]
test eax, eax
je 0x446663
lea eax, [esi + 0x44]
push eax
call fcn.004710f6
add esp, 4
mov ebx, dword [esi + 8]
mov edx, dword [esi + 0x34]
and edx, 0xffffff00
or edx, 5
mov al, 1
xor ecx, ecx
mov edi, dword [esi + 0x18]
lock cmpxchg byte [edi], cl
mov ecx, edi
jne 0x446655
mov dword [esi + 0x34], edx
mov eax, edx
and al, 0xfe
cmp al, 4
jne 0x448557
lea ecx, [esi + 0x70]
call fcn.00436b9d
mov eax, 0xcc
mov ecx, 0x84
mov edx, dword [esi + 0xc]
lock cmpxchg dword [edx], ecx
je 0x446645
mov eax, dword [edx + 8]
push edx
call dword [eax + 0x10]
add esp, 4
mov ecx, dword [esi + 0x20]
cmp ebx, ecx
jne 0x445f1b
jmp 0x446715
mov edi, edx
call fcn.0048f897
mov edx, edi
mov ebx, dword [esi + 8]
jmp 0x446611
xor edx, edx
mov dword [esi + 0x90], edi
mov ebx, dword [esi + 8]
jmp 0x446602
lea ecx, [ebx + 0x40]
mov edx, dword [esi + 0x14]
push edi
push dword [esi + 0x30]
push dword [esi + 0x1c]
mov edi, eax
call fcn.00491cdd
mov eax, edi
mov ebx, dword [esi + 0x28]
add esp, 0xc
jmp 0x44643e
mov edi, dword [esi + 0x68]
mov al, byte [edx + edi]
test al, al
js 0x4466a9
movdqa xmm0, xmmword [edx]
pmovmskb eax, xmm0
bsf edi, eax
mov al, byte [edx + edi]
and al, 1
movzx eax, al
sub dword [ecx + 0x48], eax
lea eax, [edi - 0x10]
and eax, dword [esi + 0x1c]
mov ebx, edi
mov edi, edx
mov edx, dword [esi + 0x64]
mov byte [edi + ebx], dl
mov byte [eax + edi + 0x10], dl
inc dword [ecx + 0x4c]
shl ebx, 4
mov eax, edi
sub eax, ebx
mov ecx, dword [esi + 0x10]
mov dword [eax - 0x10], ecx
neg ebx
movq xmm0, qword [esi + 0x40]
movq qword [edi + ebx - 0xc], xmm0
mov ecx, dword [esi + 0x48]
mov dword [eax - 4], ecx
jmp 0x4465f3
sub ecx, edi
je 0x446715
shr ecx, 2
xor edi, edi
mov eax, dword [esi + 0x3c]
mov eax, dword [eax + edi*4]
lock dec dword [eax]
jne 0x446710
mov eax, dword [esi + 0x3c]
mov ebx, ecx
mov ecx, dword [eax + edi*4]
call fcn.004776dc
mov ecx, ebx
inc edi
cmp ecx, edi
jne 0x4466f6
cmp dword [esi + 0x94], 0
je 0x44672f
push dword [esi + 0x3c]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esi + 0xa0]
call fcn.00471f9e
cmp dword [esi + 0x9c], 2
je 0x448791
xor edx, edx
inc edx
lea eax, [esi + 0x19c]
mov dword [eax - 4], edx
xor ecx, ecx
mov dword [eax + 8], ecx
mov dword [eax + 0xc], ecx
lea edi, [esi + 0x1b0]
mov dword [edi], edx
mov ebx, dword [esi + 4]
mov dword [edi + 4], ebx
mov eax, dword [esi + 0x24]
mov dword [edi + 8], eax
mov eax, dword [esi + 0x6c]
mov dword [edi + 0xc], eax
lea ecx, [esi + 0x18c]
mov dword [esi + 0x28], edx
push ebx
call fcn.00471ddc
add esp, 4
xor eax, eax
cmp dword [edi - 0x18], eax
je 0x4468f4
lea edi, [esi + 0x40]
xor edx, edx
inc edx
mov ecx, edi
push dword [esi + 0x1b4]
push dword [esi + 0x1b0]
call fcn.00436902
add esp, 8
cmp dword [edi], 3
je 0x448840
mov eax, dword [esi + 0x50]
mov dword [esi + 0xd0], eax
movdqu xmm0, xmmword [esi + 0x40]
movdqa xmmword [esi + 0xc0], xmm0
lea eax, [esi + 0x23d0]
push 0x1a7
push eax
lea eax, [esi + 0x210]
push eax
call fcn.0047eb10
add esp, 0xc
lea eax, [esi + 0x3b8]
mov byte [eax - 1], 0
lea ecx, [esi + 0x2578]
push 0xf30
push ecx
push eax
call fcn.0047eb10
add esp, 0xc
call fcn.00472fb8
test eax, eax
je 0x44886c
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], edx
lea ecx, [esi + 0xfc]
lea eax, [esi + 0x70]
mov dword [ecx], eax
push 0x10d8
lea eax, [esi + 0x210]
push eax
lea eax, [esi + 0x12f0]
push eax
call fcn.0047eb10
add esp, 0xc
lea edi, [esi + 0xa0]
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x446887
mov bl, byte [eax + 0x38]
mov bh, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
mov ecx, edi
lea edx, [esi + 0x12f0]
lea eax, [esi + 0xfc]
push eax
call fcn.00437980
add esp, 4
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x44689e
mov byte [eax + 0x38], bl
mov byte [eax + 0x39], bh
jmp 0x44689e
mov ecx, edi
lea edx, [esi + 0x12f0]
lea eax, [esi + 0xfc]
push eax
call fcn.00437980
add esp, 4
cmp dword [esi + 0xa0], 0
je 0x4468ae
call fcn.00472fdc
jmp 0x446846
mov eax, dword [esi + 0xa4]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0xa8]
mov dword [esi + 0x64], eax
lea ecx, [esi + 0x12f0]
call fcn.00436bc4
mov eax, dword [esi + 0x70]
push dword [esi + 0x74]
call dword [eax + 0xc]
add esp, 4
lea edi, [esi + 0xc0]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
call fcn.00472830
mov ecx, edi
call fcn.00471f9e
jmp 0x44752e
lea eax, [esi + 0x23d0]
push 0x1a7
push eax
lea eax, [esi + 0x12f0]
push eax
call fcn.0047eb10
add esp, 0xc
lea eax, [esi + 0x1498]
mov byte [eax - 1], 0
lea ecx, [esi + 0x2578]
push 0xf30
push ecx
push eax
call fcn.0047eb10
add esp, 0xc
lea edi, [esi + 0xfc]
xor ebx, ebx
mov ecx, edi
xor edx, edx
push dword [esi + 0x1b4]
push dword [esi + 0x1b0]
call fcn.00436902
add esp, 8
cmp dword [edi], 3
je 0x4489d8
mov eax, dword [esi + 0x10c]
mov dword [esi + 0x80], eax
movdqu xmm0, xmmword [esi + 0xfc]
movdqa xmmword [esi + 0x70], xmm0
lea ecx, [esi + 0x1b0]
call fcn.00476689
xchg dword [esi + 0x1ac], ebx
test ebx, ebx
je 0x4469bf
mov eax, dword [eax]
lock inc dword [eax]
jle 0x448718
movdqa xmm0, xmmword [0x493720]
movdqu xmmword [esi + 0xd0], xmm0
xor ecx, ecx
mov dword [esi + 0xc0], ecx
mov dword [esi + 0xc4], eax
mov dword [esi + 0xc8], ecx
mov dword [esi + 0xcc], ebx
jmp 0x447026
mov dword [esi + 0x20], eax
lea eax, [esi + 0xc0]
mov dword [eax], 2
mov eax, dword [esi + 0x19c]
shr eax, 2
lea ecx, [esi + 0x19c]
mov dword [esi + 0x210], ecx
mov dword [esi + 0x214], eax
xor eax, eax
mov dword [esi + 0x218], eax
mov dword [esi + 0x21c], eax
mov dword [esi + 0x220], eax
mov dword [esi + 0x228], eax
mov byte [esi + 0x22c], 0
mov al, byte [esi + 0xfb]
lea ecx, [esi + 0x218]
mov byte [ecx + 0x17], al
movzx eax, word [esi + 0xf9]
mov word [ecx + 0x15], ax
call fcn.00472fb8
test eax, eax
je 0x4486b6
mov dword [esi + 0xa0], eax
mov dword [esi + 0xa4], edx
lea eax, [esi + 0xa0]
mov dword [esi + 0x98], eax
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x446a68
mov cl, byte [eax + 0x38]
mov byte [esi + 0x18], cl
mov cl, byte [eax + 0x39]
mov byte [esi + 0x14], cl
mov word [eax + 0x38], 0x8001
jmp 0x446a6c
mov byte [esi + 0x18], 2
mov eax, dword [esi + 0x98]
mov dword [esi + 0x10], eax
mov edi, dword [esi + 0x210]
lea eax, [edi + 4]
mov dword [esi + 4], eax
lea eax, [edi + 8]
mov dword [esi + 0x1c], eax
mov ebx, dword [esi + 0x10]
movzx eax, byte [esi + 0x22c]
test eax, eax
jne 0x446b71
mov ecx, dword [edi]
and ecx, 0xfffffffc
lea eax, [ecx + 2]
lock cmpxchg dword [edi], ecx
jne 0x446ab0
mov byte [esi + 0x22c], 2
jmp 0x446a8a
mov eax, dword [ebx]
push dword [ebx + 4]
call dword [eax]
add esp, 4
mov dword [esi + 0xc], eax
mov dword [esi + 8], edx
xor eax, eax
mov cl, 1
mov edx, dword [esi + 4]
lock cmpxchg byte [edx], cl
jne 0x446b5a
mov ecx, dword [edi]
mov eax, ecx
shr eax, 2
cmp eax, dword [esi + 0x214]
jne 0x446b35
mov eax, ecx
and eax, 3
je 0x446b0e
cmp eax, 2
jne 0x446c2d
and ecx, 0xfffffffc
lea eax, [ecx + 2]
lock cmpxchg dword [edi], ecx
je 0x446b35
mov ecx, eax
and eax, 3
mov dword [esi + 0xec], eax
je 0x446ae0
jmp 0x4484a7
and ecx, 0xfffffffc
lea edx, [ecx + 1]
mov eax, ecx
lock cmpxchg dword [edi], edx
je 0x446c36
mov ecx, eax
and eax, 3
mov dword [esi + 0xec], eax
cmp eax, 2
je 0x446ae0
jmp 0x44848e
mov byte [esi + 0x22c], 2
mov al, 1
xor ecx, ecx
mov edx, dword [esi + 4]
lock cmpxchg byte [edx], cl
jne 0x446b67
push dword [esi + 8]
mov eax, dword [esi + 0xc]
call dword [eax + 0xc]
add esp, 4
jmp 0x446a8a
mov ecx, dword [esi + 4]
call fcn.0048f69d
jmp 0x446ad1
mov ecx, dword [esi + 4]
call fcn.0048f897
jmp 0x446b49
cmp eax, 1
jne 0x446d91
mov eax, dword [esi + 0x228]
cmp eax, 3
jae 0x448502
test eax, eax
mov edx, dword [esi + 4]
jne 0x446d21
xor eax, eax
mov cl, 1
lock cmpxchg byte [edx], cl
jne 0x446c17
mov eax, dword [esi + 0x228]
cmp eax, 3
jae 0x448502
test eax, eax
mov ecx, dword [esi + 0x1c]
jne 0x446d4e
mov eax, dword [edi]
shr eax, 2
mov ebx, dword [esi + 0x220]
cmp eax, dword [esi + 0x214]
je 0x446d9d
mov eax, dword [esi + 0x224]
mov dword [esi + 0x34], eax
mov dword [esi + 0x220], 0
lea edx, [esi + 0x218]
call fcn.00472ebd
mov byte [esi + 0x22c], 2
mov al, 1
xor ecx, ecx
mov edx, dword [esi + 4]
lock cmpxchg byte [edx], cl
jne 0x446c23
test ebx, ebx
je 0x446a87
push dword [esi + 0x34]
call dword [ebx + 0xc]
add esp, 4
jmp 0x446a87
mov ecx, edx
call fcn.0048f69d
jmp 0x446b9e
mov ecx, dword [esi + 4]
call fcn.0048f897
jmp 0x446c01
cmp eax, 1
jne 0x44847a
mov eax, dword [esi + 0x220]
mov dword [esi + 0x10], eax
mov ebx, dword [esi + 0x224]
mov eax, dword [esi + 0xc]
mov dword [esi + 0x220], eax
mov eax, dword [esi + 8]
mov dword [esi + 0x224], eax
lea edx, [esi + 0x218]
mov dword [esi + 0xec], edx
mov ecx, dword [esi + 0x1c]
mov eax, dword [ecx]
cmp eax, edx
je 0x4484c7
mov dword [esi + 0x21c], eax
mov dword [esi + 0x218], 0
test eax, eax
mov ecx, dword [esi + 4]
je 0x446c89
mov dword [eax], edx
mov dword [edi + 8], edx
cmp dword [edi + 0xc], 0
jne 0x446c95
mov dword [edi + 0xc], edx
mov byte [esi + 0x22c], 1
mov al, 1
xor edx, edx
lock cmpxchg byte [ecx], dl
jne 0x446d1a
mov edi, dword [esi + 0x10]
test edi, edi
je 0x446cb4
push ebx
call dword [edi + 0xc]
add esp, 4
lea ecx, [esi + 0x40]
lea edx, [esi + 0x12f0]
lea eax, [esi + 0x98]
push eax
call fcn.00427b10
add esp, 4
cmp dword [esi + 0x40], 0
je 0x446cd6
mov bl, 1
jmp 0x446ce4
mov eax, dword [esi + 0x44]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x64], eax
xor ebx, ebx
mov dword [esi + 4], 0
cmp byte [esi + 0x18], 2
je 0x446d08
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x446d08
mov cl, byte [esi + 0x18]
mov byte [eax + 0x38], cl
mov cl, byte [esi + 0x14]
mov byte [eax + 0x39], cl
test bl, bl
je 0x446e2c
call fcn.00472fdc
jmp 0x446a49
call fcn.0048f897
jmp 0x446ca6
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0x224]
mov dword [esi + 0x220], 0
test eax, eax
je 0x446d42
push ecx
call dword [eax + 0xc]
add esp, 4
mov dword [esi + 0x228], 0
jmp 0x446d8a
mov edi, dword [esi + 0x220]
mov ebx, dword [esi + 0x224]
mov dword [esi + 0x220], 0
mov dword [esi + 0x228], 0
mov al, 1
xor edx, edx
mov ecx, dword [esi + 4]
lock cmpxchg byte [ecx], dl
jne 0x446e18
test edi, edi
je 0x446d8a
push ebx
call dword [edi + 0xc]
add esp, 4
mov byte [esi + 0x22c], 2
mov al, 1
mov dword [esi + 4], eax
xor ebx, ebx
jmp 0x446ceb
test ebx, ebx
je 0x446db7
mov ecx, dword [esi + 0x224]
mov edx, dword [esi + 0x10]
mov eax, dword [edx]
mov edx, dword [edx + 4]
cmp ecx, edx
je 0x446dc1
mov ecx, edx
jmp 0x446ddf
mov ecx, dword [esi + 0x10]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x446ddf
mov edx, dword [ebx]
cmp edx, dword [eax]
jne 0x446ddf
mov edx, dword [ebx + 4]
cmp edx, dword [eax + 4]
jne 0x446ddf
mov edx, dword [ebx + 8]
cmp edx, dword [eax + 8]
jne 0x446ddf
mov edx, dword [ebx + 0xc]
cmp edx, dword [eax + 0xc]
je 0x446e22
push ecx
call dword [eax]
add esp, 4
mov edi, dword [esi + 0x220]
mov ebx, dword [esi + 0x224]
mov dword [esi + 0x220], eax
mov dword [esi + 0x224], edx
mov ecx, dword [esi + 4]
mov al, 1
xor edx, edx
lock cmpxchg byte [ecx], dl
je 0x446ca9
call fcn.0048f897
jmp 0x446ca9
call fcn.0048f897
jmp 0x446d7f
xor edi, edi
mov ecx, dword [esi + 4]
mov ebx, dword [esi + 0x34]
jmp 0x446e00
mov eax, dword [esi + 0xa0]
push dword [esi + 0xa4]
call dword [eax + 0xc]
add esp, 4
cmp byte [esi + 0x22c], 1
jne 0x446f43
mov edi, dword [esi + 0x210]
lea ebx, [edi + 4]
xor eax, eax
mov cl, 1
lock cmpxchg byte [edi + 4], cl
jne 0x446f96
mov dword [esi + 8], ebx
mov eax, dword [edi]
mov ecx, dword [esi + 0x228]
cmp ecx, 3
jae 0x448502
mov dword [esi + 0x18], ecx
lea ecx, [edi + 8]
mov ebx, dword [esi + 0x218]
test ebx, ebx
mov dword [esi + 0xc], ecx
je 0x446eb8
mov edx, dword [esi + 0x21c]
mov dword [ebx + 4], edx
mov ebx, dword [esi + 0x21c]
test ebx, ebx
je 0x446ecc
mov edx, dword [esi + 0x218]
mov dword [ebx], edx
xor edx, edx
mov dword [esi + 0x21c], edx
mov dword [esi + 0x218], edx
mov ecx, dword [esi + 0xc]
jmp 0x446ede
lea edx, [esi + 0x218]
cmp dword [ecx], edx
jne 0x446ede
mov ebx, dword [esi + 0x21c]
mov dword [ecx], ebx
jmp 0x446e99
lea edx, [esi + 0x218]
cmp dword [edi + 0xc], edx
mov ecx, dword [esi + 0xc]
je 0x446f8e
mov ebx, dword [edi + 8]
test ebx, ebx
jne 0x446eef
cmp dword [edi + 0xc], 0
jne 0x44872e
test ebx, ebx
jne 0x446f0c
mov edx, eax
and edx, 3
cmp edx, 1
mov ebx, dword [esi + 8]
jne 0x446f07
and eax, 0xfffffffc
mov edx, eax
xchg dword [edi], edx
mov ecx, dword [esi + 0xc]
jmp 0x446f0f
mov ebx, dword [esi + 8]
cmp dword [esi + 0x18], 1
jne 0x446f39
mov edx, edi
push eax
call fcn.00474aad
add esp, 4
test eax, eax
je 0x446f39
mov edi, eax
mov al, 1
xor ecx, ecx
lock cmpxchg byte [ebx], cl
jne 0x446fab
push edx
call dword [edi + 4]
add esp, 4
jmp 0x446f43
mov al, 1
xor ecx, ecx
lock cmpxchg byte [ebx], cl
jne 0x446fa2
cmp byte [esi + 4], 0
je 0x446fbb
mov eax, dword [esi + 0x220]
test eax, eax
je 0x446f5f
push dword [esi + 0x224]
call dword [eax + 0xc]
add esp, 4
cmp dword [esi + 0xc0], 2
je 0x446f73
lea ecx, [esi + 0xc0]
call fcn.00444fec
xor eax, eax
xchg dword [esi + 0x1ac], eax
test eax, eax
jne 0x446fee
mov dword [esi + 0xc0], 2
jmp 0x4469ce
lea ebx, [edi + 0xc]
jmp 0x446e9d
mov ecx, ebx
call fcn.0048f69d
jmp 0x446e63
mov ecx, ebx
call fcn.0048f897
jmp 0x446f43
mov ecx, ebx
mov ebx, edx
call fcn.0048f897
mov edx, ebx
jmp 0x446f30
mov eax, dword [esi + 0x220]
test eax, eax
je 0x446fd1
push dword [esi + 0x224]
call dword [eax + 0xc]
add esp, 4
cmp dword [esi + 0xc0], 2
je 0x44750e
lea ecx, [esi + 0xc0]
call fcn.00444fec
jmp 0x44750e
mov ecx, dword [esi + 0x20]
mov ecx, dword [ecx]
lock inc dword [ecx]
jle 0x448718
movdqa xmm0, xmmword [0x493720]
movdqu xmmword [esi + 0xd0], xmm0
xor edx, edx
mov dword [esi + 0xc0], edx
mov dword [esi + 0xc4], ecx
mov dword [esi + 0xc8], edx
mov dword [esi + 0xcc], eax
lea eax, [esi + 0x19c]
mov dword [esi + 0xe0], eax
movdqu xmm0, xmmword [esi + 0xc0]
movdqu xmm1, xmmword [esi + 0xd0]
movdqa xmmword [esi + 0x210], xmm0
mov eax, dword [esi + 0xe0]
mov dword [esi + 0x230], eax
movdqa xmmword [esi + 0x220], xmm1
cmp dword [esi + 0x210], 0
jne 0x448a4a
cmp dword [esi + 0x218], 0
jne 0x4489b0
mov dword [esi + 0x218], 0xffffffff
mov ebx, dword [esi + 0x21c]
mov dword [esi + 0x21c], 0
test ebx, ebx
je 0x4489ba
mov dword [esi + 0x218], 0
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x448a4f
lea edx, [esi + 0x214]
mov ecx, dword [eax + 0x28]
mov dword [esi + 8], ecx
mov ecx, eax
lea eax, [esi + 0x210]
mov dword [esi + 0xc], ecx
mov dword [ecx + 0x28], eax
mov eax, dword [edx]
mov byte [eax + 0x70], 1
lea ecx, [esi + 0xec]
mov dword [ecx], 0x4b354c
lea edx, [eax + 8]
mov dword [ecx + 4], edx
lea edx, [esi + 0x98]
mov dword [edx], ecx
xor ecx, ecx
xchg byte [eax + 0x70], cl
test cl, cl
je 0x4471d4
cmp dword [esi + 0x218], 0
jne 0x448689
mov dword [esi + 0x218], 0xffffffff
mov ecx, dword [esi + 0x21c]
test ecx, ecx
je 0x447129
call fcn.004369e2
mov eax, dword [esi + 0x218]
inc eax
jmp 0x44712b
xor eax, eax
mov dword [esi + 0x21c], ebx
mov dword [esi + 0x218], eax
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x447179
mov bl, byte [eax + 0x38]
mov bh, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
lea ecx, [esi + 0x40]
lea edx, [esi + 0x12f0]
lea eax, [esi + 0x98]
push eax
call fcn.0041640c
add esp, 4
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x447191
mov byte [eax + 0x38], bl
mov byte [eax + 0x39], bh
jmp 0x447191
lea ecx, [esi + 0x40]
lea edx, [esi + 0x12f0]
lea eax, [esi + 0x98]
push eax
call fcn.0041640c
add esp, 4
cmp dword [esi + 0x218], 0
jne 0x448693
mov dword [esi + 0x218], 0xffffffff
mov ebx, dword [esi + 0x21c]
mov dword [esi + 0x21c], 0
test ebx, ebx
je 0x44869d
mov dword [esi + 0x218], 0
cmp dword [esi + 0x40], 0
je 0x4483fd
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + 0x30]
test ecx, ecx
je 0x44732a
cmp byte [ebx + 0x38], 0
jne 0x4474b5
mov eax, dword [ebx + 0x30]
mov edi, dword [ebx + 0x34]
inc eax
mov dword [ebx + 0x30], eax
test edi, edi
je 0x448466
mov dword [esi + 4], ecx
mov ecx, dword [esi + 0x214]
xor edx, edx
div edi
test edx, edx
je 0x44722c
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x447245
add ecx, 0x5c
call fcn.004765fc
mov edi, eax
test eax, eax
jne 0x44726a
jmp 0x44734b
add ecx, 0x5c
call fcn.004765fc
mov edi, eax
test eax, eax
jne 0x44726a
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x44734b
mov edx, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x28]
lea edi, [ecx + 1]
cmp edi, edx
mov edi, 0
cmovb edx, edi
neg edx
add edx, ecx
inc edx
mov dword [ebx + 0x28], edx
dec eax
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x24]
mov edi, dword [eax + ecx*4]
cmp dword [esi + 0x218], 0
jne 0x448689
mov dword [esi + 0x218], 0xffffffff
mov ecx, dword [esi + 0x21c]
test ecx, ecx
je 0x447299
call fcn.004369e2
mov eax, dword [esi + 0x218]
inc eax
jmp 0x44729b
xor eax, eax
mov dword [esi + 0x21c], ebx
mov dword [esi + 0x218], eax
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x4472c0
mov bl, byte [eax + 0x38]
mov bh, byte [eax + 0x39]
mov word [eax + 0x38], 0x8001
jmp 0x4472c2
mov bl, 2
mov eax, dword [edi + 8]
push edi
call dword [eax]
add esp, 4
cmp bl, 2
je 0x4472e1
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x4472e1
mov byte [eax + 0x38], bl
mov byte [eax + 0x39], bh
cmp dword [esi + 0x218], 0
jne 0x448693
mov dword [esi + 0x218], 0xffffffff
mov ebx, dword [esi + 0x21c]
mov dword [esi + 0x21c], 0
test ebx, ebx
mov ecx, dword [esi + 4]
je 0x44869d
mov dword [esi + 0x218], 0
dec ecx
jne 0x4471e5
mov eax, dword [esi + 0x214]
add eax, 8
lea ecx, [esi + 0x214]
mov edx, ebx
push eax
call fcn.004786b2
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x214]
jmp 0x4470ed
cmp dword [esi + 0x220], 0x7fffffff
jae 0x448b18
cmp dword [esi + 0x22c], 0
mov edi, dword [esi + 0x214]
je 0x447378
add edi, 8
lea ecx, [esi + 0x214]
mov edx, ebx
push edi
jmp 0x447336
mov eax, dword [ebx]
mov dword [ebx], 2
cmp eax, 2
je 0x448b36
mov dword [esi + 0xa0], eax
movdqu xmm0, xmmword [ebx + 4]
movdqu xmm1, xmmword [ebx + 0x10]
lea eax, [esi + 0xa4]
movdqu xmmword [eax + 0xc], xmm1
movdqu xmmword [eax], xmm0
mov eax, dword [edi + 0x38]
test eax, eax
je 0x4473c5
lea ecx, [esi + 0x214]
mov edx, ebx
push dword [edi + 0x3c]
push eax
call fcn.00478619
add esp, 8
mov ebx, eax
cmp dword [ebx + 0x2c], 0
jne 0x44745e
cmp dword [esi + 0x218], 0
jne 0x448689
mov dword [esi + 0x218], 0xffffffff
mov ecx, dword [esi + 0x21c]
test ecx, ecx
je 0x4473fe
call fcn.0047769d
mov eax, dword [esi + 0x218]
inc eax
jmp 0x447400
xor eax, eax
mov dword [esi + 0x21c], ebx
mov dword [esi + 0x218], eax
lea edx, [edi + 0x78]
lea ecx, [esi + 0xa0]
call fcn.0047300f
lea ecx, [esi + 0x220]
call fcn.0047391a
cmp dword [esi + 0x218], 0
jne 0x448693
mov dword [esi + 0x218], 0xffffffff
mov ebx, dword [esi + 0x21c]
mov dword [esi + 0x21c], 0
test ebx, ebx
je 0x44869d
mov dword [esi + 0x218], 0
mov eax, dword [edi + 0x40]
test eax, eax
je 0x44747b
lea ecx, [esi + 0x214]
mov edx, ebx
push dword [edi + 0x44]
push eax
call fcn.00478619
add esp, 8
mov ebx, eax
movups xmm0, xmmword [esi + 0xa0]
movups xmm1, xmmword [esi + 0xb0]
movaps xmmword [esi + 0x50], xmm1
movaps xmmword [esi + 0x40], xmm0
cmp dword [ebx], 2
je 0x44749d
mov ecx, ebx
call fcn.00476fbd
movdqa xmm0, xmmword [esi + 0x40]
movdqa xmm1, xmmword [esi + 0x50]
movdqu xmmword [ebx + 0x10], xmm1
movdqu xmmword [ebx], xmm0
jmp 0x447340
mov dl, 1
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov dword [eax + 0x28], ecx
cmp dword [esi + 0x218], 0
jne 0x4489ce
mov edi, edx
mov dword [esi + 0x218], 0xffffffff
mov ecx, dword [esi + 0x21c]
test ecx, ecx
je 0x4474f1
call fcn.004369e2
mov eax, dword [esi + 0x218]
inc eax
jmp 0x4474f3
xor eax, eax
lea ecx, [esi + 0x210]
mov dword [ecx + 0xc], ebx
mov dword [ecx + 8], eax
call fcn.00444fec
mov eax, edi
test al, al
jne 0x448a73
lea edi, [esi + 0x70]
mov ecx, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
call fcn.00472830
mov ecx, edi
call fcn.00471f9e
lea ecx, [esi + 0x12f0]
call fcn.00436bc4
lea ecx, [esi + 0x18c]
call fcn.00471f9e
cmp dword [esi + 0x198], 0
je 0x447594
cmp dword [esi + 0x1b0], 0
je 0x44888e
mov edx, dword [esi + 0x1b4]
lea ebx, [edx + 0xdc]
mov cl, 1
xor eax, eax
lock cmpxchg byte [edx + 0xdc], cl
jne 0x447cb2
cmp byte [edx + 0xf4], 0
je 0x44764f
xor ecx, ecx
mov al, 1
lock cmpxchg byte [ebx], cl
je 0x4477a0
mov ecx, ebx
call fcn.0048f897
jmp 0x4477a0
mov edx, dword [esi + 0x1b0]
lea ecx, [esi + 0x40]
push dword [esi + 0x1b4]
call fcn.00472083
add esp, 4
cmp dword [esi + 0x1b0], 0
jne 0x448a02
xor edi, edi
xchg dword [esi + 0x1ac], edi
test edi, edi
je 0x44839b
mov eax, dword [esi + 0x1b4]
lock inc dword [eax]
jle 0x448718
xor ecx, ecx
mov dword [esi + 0x210], ecx
mov dword [esi + 0x214], eax
mov dword [esi + 0x218], ecx
mov dword [esi + 0x21c], edi
movdqa xmm0, xmmword [0x493720]
movdqu xmmword [esi + 0x220], xmm0
lea eax, [esi + 0x19c]
mov dword [esi + 0x230], eax
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x44762a
cmp dword [eax], 0x7fffffff
jae 0x448516
cmp dword [eax + 4], 2
jne 0x4476a8
mov edx, dword [esi + 0x1b4]
add edx, 8
mov ecx, edi
call fcn.00477c12
lea ebx, [esi + 0x210]
mov dword [ebx + 0xc], edi
mov dword [ebx + 8], 0
jmp 0x447784
mov byte [edx + 0xf4], 1
xor ecx, ecx
mov al, 1
lock cmpxchg byte [edx + 0xdc], cl
jne 0x448410
mov eax, dword [edx + 0xcc]
mov dword [esi + 4], eax
test eax, eax
je 0x4477a0
mov eax, dword [edx + 0xc8]
mov dword [esi + 0xc], eax
add edx, 0x18
shl dword [esi + 4], 3
xor edi, edi
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + edi + 4]
mov ebx, edx
call fcn.0047395c
mov edx, ebx
add edi, 8
cmp dword [esi + 4], edi
jne 0x44768b
jmp 0x4477a0
movdqu xmm0, xmmword [esi + 0x210]
movdqu xmm1, xmmword [esi + 0x220]
movdqa xmmword [esi + 0x12f0], xmm0
mov eax, dword [esi + 0x230]
mov dword [esi + 0x1310], eax
movdqa xmmword [esi + 0x1300], xmm1
cmp dword [esi + 0x12f0], 0
jne 0x448ac8
cmp dword [esi + 0x12f8], 0
jne 0x4489b0
mov eax, dword [esi + 0x12fc]
mov dword [esi + 0x12fc], 0
mov dword [esi + 4], eax
test eax, eax
je 0x4489ba
mov dword [esi + 0x12f8], 0
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x448af4
mov ebx, eax
mov edi, dword [eax + 0x28]
lea eax, [esi + 0x12f0]
mov dword [ebx + 0x28], eax
mov edx, dword [esi + 0x1b4]
add edx, 8
mov ecx, dword [esi + 4]
call fcn.00477c12
mov dword [ebx + 0x28], edi
cmp dword [esi + 0x12f8], 0
jne 0x4489ce
mov dword [esi + 0x12f8], 0xffffffff
mov ecx, dword [esi + 0x12fc]
test ecx, ecx
je 0x447773
call fcn.0047769d
mov eax, dword [esi + 0x12f8]
inc eax
jmp 0x447775
xor eax, eax
lea ebx, [esi + 0x12f0]
mov ecx, dword [esi + 4]
mov dword [ebx + 0xc], ecx
mov dword [ebx + 8], eax
mov ecx, ebx
call fcn.004787bc
mov ecx, ebx
call fcn.0047761c
cmp dword [esi + 0x40], 3
je 0x4477a0
lea ecx, [esi + 0x40]
call fcn.00471f9e
cmp dword [esi + 0x198], 0
jne 0x4477ba
xor ecx, ecx
xchg dword [esi + 0x1ac], ecx
test ecx, ecx
je 0x4477ba
call fcn.004369e2
lea ecx, [esi + 0x1b0]
call fcn.00436b9d
mov ebx, dword [esi + 0x1b8]
lea edi, [ebx + 0x28]
mov cl, 1
xor eax, eax
lock cmpxchg byte [ebx + 0x28], cl
jne 0x447c8a
cmp byte [ebx + 0x78], 0
je 0x4477fd
xor ecx, ecx
mov al, 1
lock cmpxchg byte [edi], cl
je 0x44829a
mov ecx, edi
call fcn.0048f897
jmp 0x44829a
mov byte [ebx + 0x78], 1
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x447815
lock dec dword [eax]
jne 0x447815
mov ecx, dword [ebx + 0x64]
call fcn.00477360
mov dword [ebx + 0x64], 0
mov ecx, dword [esi + 0x1b8]
mov edx, dword [ecx + 0x90]
test edx, edx
jne 0x4483e0
mov dword [esi + 0x18], edi
mov eax, dword [ebx + 0x70]
mov dword [esi + 0xa8], eax
movq xmm0, qword [ebx + 0x68]
movq qword [esi + 0xa0], xmm0
mov dword [ebx + 0x68], 0
call fcn.00470ec0
test eax, eax
je 0x448afc
mov ecx, dword [eax]
mov dword [esi + 4], ecx
add ecx, 1
mov edx, dword [eax + 4]
mov dword [esi + 8], edx
adc edx, 0
mov edi, dword [eax + 8]
mov dword [esi + 0xc], edi
mov edi, dword [eax + 0xc]
mov dword [eax], ecx
mov dword [eax + 4], edx
movups xmm0, xmmword [ebx + 0x40]
movdqu xmm1, xmmword [ebx + 0x50]
movdqa xmmword [esi + 0xd0], xmm1
movaps xmmword [esi + 0xc0], xmm0
movdqu xmm0, xmmword [0x4b1080]
movdqu xmmword [ebx + 0x40], xmm0
mov eax, dword [esi + 8]
mov dword [ebx + 0x54], eax
mov eax, dword [esi + 4]
mov dword [ebx + 0x50], eax
mov dword [ebx + 0x5c], edi
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x58], eax
xor ecx, ecx
mov al, 1
lock cmpxchg byte [ebx + 0x28], cl
jne 0x4483f0
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x4478da
cmp byte [eax + 0x3a], 2
jne 0x448420
call fcn.00472fb8
test eax, eax
je 0x44796d
mov dword [esi + 0x12f0], eax
mov dword [esi + 0x12f4], edx
lea edi, [esi + 0x210]
lea eax, [esi + 0x12f0]
mov dword [edi], eax
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x447940
mov bh, byte [eax + 0x38]
mov cl, byte [eax + 0x39]
mov byte [esi + 4], cl
mov word [eax + 0x38], 0x8001
lea ecx, [esi + 0x1bc]
mov edx, edi
call fcn.0047647f
mov bl, al
xor ecx, ecx
call fcn.00471215
test eax, eax
je 0x44794f
mov byte [eax + 0x38], bh
mov cl, byte [esi + 4]
mov byte [eax + 0x39], cl
jmp 0x44794f
lea ecx, [esi + 0x1bc]
mov edx, edi
call fcn.0047647f
mov ebx, eax
cmp bl, 2
jne 0x44795b
call fcn.00472fdc
jmp 0x447901
mov eax, dword [esi + 0x12f0]
push dword [esi + 0x12f4]
call dword [eax + 0xc]
add esp, 4
mov eax, dword [esi + 0xa0]
test eax, eax
je 0x4479c2
mov edx, dword [esi + 0xa4]
mov edi, dword [esi + 0xa8]
lea ecx, [esi + 0x12f0]
mov dword [ecx], eax
mov dword [ecx + 8], edi
mov dword [ecx + 4], edx
call fcn.00471e77
test eax, eax
je 0x4479c2
mov edi, eax
mov ebx, edx
push eax
call dword [edx]
add esp, 4
cmp dword [ebx + 4], 0
je 0x4479c2
cmp dword [ebx + 8], 9
jb 0x4479b3
mov edi, dword [edi - 4]
push edi
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0xc0]
mov edx, dword [esi + 0xc4]
mov ecx, dword [esi + 0xcc]
movdqa xmm0, xmmword [eax]
test edx, edx
je 0x447a12
lea ebx, [edx + 1]
mov dword [esi + 4], 0
cmp ebx, 0xfffffff
mov dword [esi + 0x28], ebx
ja 0x447a09
mov edi, ebx
shl edi, 4
add edx, 0x11
add edx, edi
jb 0x447a09
cmp edx, 0x7ffffff1
jb 0x44838f
mov ebx, eax
sub ebx, edi
mov edi, dword [esi + 4]
jmp 0x447a14
xor edi, edi
mov dword [esi + 0x210], edi
mov dword [esi + 0x214], edx
lea edi, [eax + 0x10]
mov dword [esi + 0x218], ebx
pmovmskb ebx, xmm0
mov edx, dword [esi + 0x28]
add edx, eax
mov dword [esi + 0x21c], eax
mov dword [esi + 0x220], edi
mov dword [esi + 0x224], edx
mov edx, ebx
not edx
mov word [esi + 0x228], dx
mov dword [esi + 0x22c], ecx
test ecx, ecx
je 0x447c7a
cmp bx, 0xffff
jne 0x447a89
movdqa xmm0, xmmword [edi]
pmovmskb edx, xmm0
add eax, 0xffffff00
add edi, 0x10
cmp edx, 0xffff
je 0x447a63
not edx
mov dword [esi + 0x220], edi
mov dword [esi + 0x21c], eax
lea edi, [edx - 1]
and edi, edx
mov word [esi + 0x228], di
bsf edx, edx
shl edx, 4
sub eax, edx
dec ecx
mov dword [esi + 0x22c], ecx
mov ebx, dword [eax - 0xc]
test ebx, ebx
je 0x447c7a
inc ecx
mov edx, 0xffffffff
cmove ecx, edx
cmp ecx, 5
mov edi, 4
cmovae edi, ecx
cmp edi, 0x7ffffff
ja 0x4486b1
mov dword [esi + 0x90], edi
shl edi, 4
js 0x4486b1
mov ecx, dword [eax - 4]
mov dword [esi + 4], ecx
mov ecx, dword [eax - 0x10]
mov dword [esi + 8], ecx
mov eax, dword [eax - 8]
mov dword [esi + 0xc], eax
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, edi
call fcn.0046de40
test eax, eax
je 0x4486cd
mov ecx, dword [esi + 8]
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov ecx, dword [esi + 0xc]
mov dword [eax + 8], ecx
mov ecx, dword [esi + 4]
mov dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x90]
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], 1
movdqu xmm0, xmmword [esi + 0x210]
movdqu xmm1, xmmword [esi + 0x220]
movdqa xmmword [esi + 0x1300], xmm1
movdqa xmmword [esi + 0x12f0], xmm0
mov ecx, dword [esi + 0x130c]
test ecx, ecx
mov edi, eax
je 0x447c9b
mov dword [esi + 0x24], edi
movzx eax, word [esi + 0x1308]
mov edi, dword [esi + 0x12fc]
mov ebx, dword [esi + 0x1300]
mov dword [esi + 4], ecx
xor ecx, ecx
inc ecx
mov dword [esi + 0x20], ecx
mov ecx, dword [esi + 4]
test ax, ax
je 0x447ba0
lea edx, [eax - 1]
and edx, eax
mov dword [esi + 0xc], edx
mov word [esi + 0x1308], dx
dec ecx
mov dword [esi + 4], ecx
test edi, edi
jne 0x447bd9
jmp 0x447c96
movdqa xmm0, xmmword [ebx]
pmovmskb eax, xmm0
add edi, 0xffffff00
add ebx, 0x10
cmp eax, 0xffff
je 0x447ba0
not eax
mov dword [esi + 0x1300], ebx
mov dword [esi + 0x12fc], edi
lea edx, [eax - 1]
and edx, eax
mov dword [esi + 0xc], edx
mov word [esi + 0x1308], dx
dec ecx
mov dword [esi + 4], ecx
bsf ecx, eax
shl ecx, 4
mov eax, edi
sub eax, ecx
mov ecx, dword [eax - 0xc]
mov dword [esi + 8], ecx
test ecx, ecx
je 0x447c96
mov ecx, dword [eax - 0x10]
mov dword [esi + 0x1c], ecx
mov ecx, dword [eax - 4]
mov dword [esi + 0x10], ecx
mov eax, dword [eax - 8]
mov dword [esi + 0x18], eax
mov edx, dword [esi + 0x20]
cmp edx, dword [esi + 0x40]
mov dword [esi + 0x20], edx
je 0x447c54
mov eax, edx
shl eax, 4
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x24]
mov dword [edx + eax], ecx
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x24]
mov dword [edx + eax + 4], ecx
mov ecx, dword [esi + 0x10]
mov edx, dword [esi + 0x24]
mov dword [edx + eax + 0xc], ecx
mov ecx, dword [esi + 0x18]
mov edx, dword [esi + 0x24]
mov dword [edx + eax + 8], ecx
mov eax, dword [esi + 0x20]
inc eax
mov dword [esi + 0x20], eax
mov dword [esi + 0x48], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x447b7f
jmp 0x447cc2
mov eax, dword [esi + 4]
inc eax
mov ecx, 0xffffffff
cmove eax, ecx
lea ecx, [esi + 0x40]
mov edx, dword [esi + 0x20]
push eax
call fcn.00491c42
add esp, 4
mov eax, dword [esi + 0x44]
mov dword [esi + 0x24], eax
mov edx, dword [esi + 0x20]
jmp 0x447c0e
lea ecx, [esi + 0x210]
call fcn.00476dfa
jmp 0x44829a
mov ecx, edi
call fcn.0048f69d
jmp 0x4477dd
mov eax, dword [esi + 4]
jmp 0x447cc4
lea ecx, [esi + 0x12f0]
call fcn.00476dfa
mov ecx, edi
add ecx, 0x10
mov eax, edi
jmp 0x4481ed
mov ecx, ebx
mov edi, edx
call fcn.0048f69d
mov edx, edi
jmp 0x44756d
xor eax, eax
lea ecx, [esi + 0x12f0]
mov dword [ecx + 0x1c], eax
mov edi, dword [esi + 0x40]
mov eax, dword [esi + 0x44]
mov dword [esi + 0x24], eax
call fcn.00476dfa
mov ebx, dword [esi + 0x20]
cmp ebx, 0x15
mov dword [esi + 0x90], edi
jae 0x447d11
cmp ebx, 1
jbe 0x4481dd
mov edi, dword [esi + 0x24]
mov ecx, edi
mov edx, ebx
push 1
call fcn.00477719
mov eax, edi
add esp, 4
shl ebx, 4
add ebx, edi
mov ecx, ebx
jmp 0x4481ed
lea edx, [ebx*8]
and edx, 0x7ffffff0
mov al, byte [0x4c0b90]
xor ecx, ecx
call fcn.0046de40
mov dword [esi + 0x10], eax
test eax, eax
je 0x448b22
mov al, byte [0x4c0b90]
xor ecx, ecx
mov edx, 0x80
call fcn.0046de40
test eax, eax
je 0x448b2c
mov ecx, eax
mov eax, dword [esi + 0x24]
lea edx, [eax + 0x20]
mov dword [esi + 0xf4], edx
add eax, 0xfffffff0
mov dword [esi + 0x94], eax
mov dword [esi + 0x68], 0x10
xor eax, eax
mov edi, ecx
xor ecx, ecx
mov dword [esi + 0x20], ebx
mov edx, ebx
sub edx, eax
mov dword [esi + 8], eax
mov ebx, eax
shl ebx, 4
mov eax, dword [esi + 0x24]
add eax, ebx
cmp edx, 2
mov dword [esi + 0x6c], edi
mov dword [esi + 0x14], ecx
mov dword [esi + 0x1c], eax
jae 0x447d9b
mov eax, edx
jmp 0x447e84
mov dword [esi + 0x34], ebx
mov ebx, dword [eax + 0x10]
cmp ebx, dword [eax]
jae 0x447e53
mov dword [esi + 4], edx
cmp edx, 2
mov edx, 2
je 0x447de4
mov ecx, dword [esi + 0xf4]
mov edx, dword [esi + 0x34]
add ecx, edx
mov edx, 2
mov edi, ebx
mov ebx, dword [ecx]
cmp ebx, edi
jae 0x447dde
mov edi, edx
inc edi
add ecx, 0x10
mov edx, edi
cmp dword [esi + 4], edi
jne 0x447dc6
mov edx, dword [esi + 4]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x18], edx
add edx, dword [esi + 8]
jb 0x448a2e
mov ebx, dword [esi + 0x20]
mov dword [esi + 0x60], edx
cmp edx, ebx
ja 0x448a3b
mov edx, dword [esi + 0x18]
cmp edx, 2
jb 0x447e4b
mov ecx, edx
shr ecx, 1
mov dword [esi + 0xc], ecx
mov ebx, edx
shl ebx, 4
add ebx, dword [esi + 0x34]
add ebx, dword [esi + 0x94]
xor edx, edx
mov ecx, eax
mov dword [esi + 4], edx
xor edi, edi
mov eax, dword [ecx + edi*4]
mov edx, dword [ebx + edi*4]
mov dword [ecx + edi*4], edx
mov dword [ebx + edi*4], eax
inc edi
cmp edi, 4
jne 0x447e24
mov edx, dword [esi + 4]
inc edx
add ebx, 0xfffffff0
add ecx, 0x10
cmp edx, dword [esi + 0xc]
jne 0x447e1f
mov ebx, dword [esi + 0x20]
mov ecx, dword [esi + 0x14]
mov eax, dword [esi + 0x60]
mov edx, dword [esi + 8]
jmp 0x447e8f
mov eax, 2
cmp edx, 2
je 0x447e84
mov dword [esi + 4], edx
mov edx, dword [esi + 0x34]
add edx, dword [esi + 0xf4]
mov ecx, ebx
mov ebx, dword [edx]
cmp ebx, ecx
jb 0x447e81
mov ecx, eax
inc ecx
add edx, 0x10
mov eax, ecx
cmp dword [esi + 4], ecx
jne 0x447e69
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x14]
mov edx, dword [esi + 8]
mov dword [esi + 0x18], eax
add eax, edx
mov ebx, dword [esi + 0x20]
mov edi, eax
sub edi, edx
jb 0x44871a
cmp eax, ebx
ja 0x44871a
jae 0x447edb
cmp dword [esi + 0x18], 0xa
jae 0x447edb
mov eax, dword [esi + 8]
lea edi, [eax + 0xa]
cmp edi, ebx
cmovae edi, ebx
mov dword [esi + 0x60], edi
sub edi, eax
jb 0x448826
mov eax, dword [esi + 0x18]
cmp eax, 1
adc eax, 0
mov ecx, dword [esi + 0x1c]
mov edx, edi
push eax
call fcn.00477719
add esp, 4
mov ecx, dword [esi + 0x14]
jmp 0x447ede
mov dword [esi + 0x60], eax
mov eax, dword [esi + 0x68]
cmp ecx, eax
jne 0x447f3a
mov edx, eax
shl edx, 4
mov ebx, eax
mov al, byte [0x4c0b90]
xor ecx, ecx
call fcn.0046de40
test eax, eax
je 0x448836
lea ecx, [ebx + ebx]
mov dword [esi + 4], ecx
shl ebx, 3
push ebx
mov ebx, dword [esi + 0x6c]
push ebx
push eax
mov dword [esi + 0xc], eax
call fcn.0047eb10
add esp, 0xc
push ebx
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 4]
mov dword [esi + 0x68], ecx
mov ebx, dword [esi + 0x20]
mov ecx, dword [esi + 0x14]
jmp 0x447f3d
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 8]
mov dword [eax + ecx*8], edi
mov dword [eax + ecx*8 + 4], edx
inc ecx
cmp ecx, 2
mov edi, eax
mov dword [esi + 0x6c], eax
jb 0x4481a1
mov dword [esi + 0x14], ecx
mov eax, dword [edi + ecx*8 - 8]
mov ecx, dword [esi + 0x14]
mov ecx, dword [edi + ecx*8 - 4]
add ecx, eax
cmp ecx, ebx
mov ecx, dword [esi + 0x14]
je 0x447fad
mov edx, dword [edi + ecx*8 - 0x10]
cmp edx, eax
jbe 0x447fad
cmp ecx, 2
jbe 0x4481a1
lea ebx, [ecx - 3]
mov dword [esi + 0x28], ebx
mov ebx, ecx
mov ecx, dword [edi + ecx*8 - 0x18]
lea edi, [edx + eax]
cmp ecx, edi
jbe 0x447fbb
cmp ebx, 3
jbe 0x4481ae
add edx, ecx
mov edi, dword [esi + 0x6c]
cmp dword [edi + ebx*8 - 0x20], edx
mov ebx, dword [esi + 0x28]
jbe 0x447fc1
jmp 0x4481b5
cmp ecx, 3
jb 0x447fc8
lea ebx, [ecx - 3]
mov ecx, dword [edi + ecx*8 - 0x18]
jmp 0x447fc1
mov edi, dword [esi + 0x6c]
mov ebx, dword [esi + 0x28]
cmp ecx, eax
mov ecx, dword [esi + 0x14]
jb 0x447fcb
lea ebx, [ecx - 2]
cmp ecx, ebx
jbe 0x448604
lea eax, [ebx + 1]
cmp ecx, eax
jbe 0x448630
mov ecx, dword [edi + ebx*8 + 4]
mov eax, dword [edi + ebx*8 + 8]
mov edx, dword [edi + ebx*8 + 0xc]
mov dword [esi + 0x3c], eax
add edx, eax
mov eax, edx
sub eax, ecx
mov dword [esi + 4], eax
jb 0x44865c
cmp edx, dword [esi + 0x20]
ja 0x448666
mov dword [esi + 0x28], ebx
lea edi, [edi + ebx*8]
mov dword [esi + 0x9c], edi
mov eax, dword [edi]
mov dword [esi + 0x30], ecx
shl ecx, 4
add ecx, dword [esi + 0x24]
mov ebx, eax
shl ebx, 4
shl edx, 4
mov dword [esi + 0xc], edx
mov edx, dword [esi + 4]
sub edx, eax
lea edi, [ecx + ebx]
mov dword [esi + 0x34], eax
cmp edx, eax
mov dword [esi + 8], ecx
jae 0x4480c0
mov dword [esi + 4], edx
mov ebx, edx
shl ebx, 4
push ebx
push edi
push dword [esi + 0x10]
call fcn.0047eb10
add esp, 0xc
add ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x34]
test eax, eax
jle 0x4480b6
cmp dword [esi + 4], 0
jle 0x4480b6
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x94]
mov dword [esi + 0xc], ecx
mov eax, edi
mov dword [esi + 4], ebx
mov ecx, dword [ebx - 0x10]
mov edx, dword [edi - 0x10]
cmp ecx, edx
mov edi, 0
sbb edi, edi
cmp ecx, edx
mov ebx, 0
adc ebx, 0xffffffff
shl edi, 4
add edi, eax
shl ebx, 4
add ebx, dword [esi + 4]
cmp ecx, edx
mov ecx, dword [esi + 0xc]
mov eax, ebx
cmovb eax, edi
movdqu xmm0, xmmword [eax]
movdqu xmmword [ecx], xmm0
cmp edi, dword [esi + 8]
jbe 0x4480b6
add ecx, 0xfffffff0
cmp ebx, dword [esi + 0x10]
ja 0x44806b
mov ecx, edi
mov eax, dword [esi + 0x10]
jmp 0x448143
push ebx
push ecx
push dword [esi + 0x10]
call fcn.0047eb10
add esp, 0xc
add ebx, dword [esi + 0x10]
mov eax, dword [esi + 0x34]
test eax, eax
jle 0x44813d
cmp dword [esi + 4], eax
jle 0x44813d
mov ecx, dword [esi + 0xc]
add ecx, dword [esi + 0x24]
mov eax, dword [esi + 0x10]
mov dword [esi + 0xc], ecx
mov dword [esi + 0x1c], ebx
mov dword [esi + 4], eax
mov eax, dword [edi]
mov dword [esi + 0x18], eax
xor eax, eax
xor ecx, ecx
mov edx, dword [esi + 0x18]
mov ebx, dword [esi + 4]
cmp edx, dword [ebx]
mov ebx, dword [esi + 0x1c]
mov edx, dword [esi + 4]
cmovb edx, edi
movdqu xmm0, xmmword [edx]
setae al
setb byte [esi + 0x18]
shl eax, 4
add eax, dword [esi + 4]
mov edx, dword [esi + 8]
movdqu xmmword [edx], xmm0
add edx, 0x10
mov dword [esi + 8], edx
cmp eax, ebx
jae 0x448140
mov dl, byte [esi + 0x18]
mov cl, dl
shl ecx, 4
add edi, ecx
mov ecx, dword [esi + 0xc]
cmp edi, ecx
jb 0x4480eb
jmp 0x448140
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov edi, dword [esi + 0x14]
lea edx, [edi - 1]
mov dword [esi + 4], edx
sub ebx, eax
push ebx
push eax
push ecx
call fcn.0047eb10
add esp, 0xc
mov eax, dword [esi + 0x3c]
add eax, dword [esi + 0x34]
mov ebx, dword [esi + 0x6c]
mov ecx, dword [esi + 0x28]
mov dword [ebx + ecx*8 + 8], eax
mov eax, dword [esi + 0x30]
mov dword [ebx + ecx*8 + 0xc], eax
not ecx
add ecx, edi
mov edx, dword [esi + 0x9c]
lea eax, [edx + 8]
shl ecx, 3
push ecx
push eax
push edx
call fcn.0047eb10
add esp, 0xc
mov eax, dword [esi + 4]
mov ecx, eax
cmp eax, 1
mov edi, ebx
mov ebx, dword [esi + 0x20]
ja 0x447f56
xor ecx, ecx
inc ecx
mov eax, dword [esi + 0x60]
cmp eax, ebx
jb 0x447d75
jmp 0x4481bd
mov edi, dword [esi + 0x6c]
mov ecx, ebx
jmp 0x4481b8
mov ecx, dword [esi + 0x14]
mov ebx, dword [esi + 0x20]
jmp 0x4481a1
xor eax, eax
push edi
push eax
push dword [0x4c0b18]
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
call edi
push dword [esi + 0x10]
xor eax, eax
push eax
push dword [0x4c0b18]
call edi
mov ecx, ebx
shl ecx, 4
mov eax, dword [esi + 0x24]
add ecx, eax
mov edi, eax
test ebx, ebx
je 0x448261
mov dword [esi + 0x24], eax
mov edi, eax
mov dword [esi + 0xc], ecx
mov eax, dword [edi + 4]
test eax, eax
je 0x44825b
mov ecx, dword [edi + 8]
mov edx, dword [edi + 0xc]
mov dword [esi + 0x12f0], eax
mov dword [esi + 0x12f8], edx
mov dword [esi + 0x12f4], ecx
lea ecx, [esi + 0x12f0]
call fcn.00471e77
test eax, eax
je 0x44824f
mov ebx, edx
push eax
mov dword [esi + 4], eax
call dword [edx]
mov eax, dword [esi + 4]
add esp, 4
cmp dword [ebx + 4], 0
je 0x44824f
cmp dword [ebx + 8], 9
jb 0x448240
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
add edi, 0x10
mov ecx, dword [esi + 0xc]
cmp edi, ecx
jne 0x4481f5
jmp 0x44827f
add edi, 0x10
mov eax, dword [esi + 0x24]
sub ecx, edi
je 0x448282
mov dword [esi + 0x24], eax
shr ecx, 4
add edi, 4
mov ebx, ecx
mov ecx, edi
call fcn.00471e4a
mov ecx, ebx
add edi, 0x10
dec ecx
jne 0x44826e
mov eax, dword [esi + 0x24]
cmp dword [esi + 0x90], 0
je 0x44829a
push eax
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esi + 0x1b8]
lock dec dword [eax]
jne 0x4482b0
mov ecx, dword [esi + 0x1b8]
call fcn.00477254
mov ecx, dword [esi + 0x1bc]
test ecx, ecx
je 0x4482f7
mov eax, dword [ecx + 0x18]
mov edx, eax
or edx, 4
lock cmpxchg dword [ecx + 0x18], edx
jne 0x4482bd
and eax, 0xa
cmp eax, 8
jne 0x4482dd
mov eax, dword [ecx + 8]
push dword [ecx + 0xc]
call dword [eax + 8]
add esp, 4
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x4482f7
lock dec dword [eax]
jne 0x4482f7
mov ecx, dword [esi + 0x1bc]
call fcn.004774c9
mov eax, dword [esi + 0x138]
lock dec dword [eax]
jne 0x44830d
lea ecx, [esi + 0x138]
call fcn.0047746c
mov eax, dword [esi + 0x140]
test eax, eax
je 0x448327
lock dec dword [eax]
jne 0x448327
lea ecx, [esi + 0x140]
call fcn.0047746c
mov eax, dword [esi + 0x148]
test eax, eax
je 0x448341
lock dec dword [eax]
jne 0x448341
lea ecx, [esi + 0x148]
call fcn.0047746c
mov eax, dword [esi + 0x150]
test eax, eax
je 0x44835b
lock dec dword [eax]
jne 0x44835b
lea ecx, [esi + 0x150]
call fcn.0047746c
mov eax, dword [esi + 0x158]
test eax, eax
je 0x448375
lock dec dword [eax]
jne 0x448375
lea ecx, [esi + 0x158]
call fcn.0047746c
mov eax, dword [esi + 0x34b0]
mov dword fs:[0], eax
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x64]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esi + 4], 0x10
jmp 0x447a09
mov eax, dword [0x4c0b8c]
test eax, 0x7fffffff
je 0x4483b4
call fcn.00491620
test al, al
je 0x447792
lea ecx, [esi + 0x12f0]
mov dword [ecx], str.Oh_no__We_never_placed_the_Core_back__this_is_a_bug_
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4b2f90
call fcn.0048d2c0
add ecx, 0x90
call fcn.0048fde2
jmp 0x447830
mov ecx, dword [esi + 0x18]
call fcn.0048f897
jmp 0x4478c5
mov eax, dword [esi + 0x44]
mov dword [esi + 0x38], eax
mov eax, dword [esi + 0x48]
mov dword [esi + 0x64], eax
xor edx, edx
jmp 0x4474b7
mov ecx, ebx
mov edi, edx
call fcn.0048f897
mov edx, edi
jmp 0x447668
mov eax, dword [0x4c0b8c]
test eax, 0x7fffffff
je 0x448a9c
call fcn.00491620
test al, al
jne 0x448a9c
mov edi, dword [esi + 0xa0]
lea ecx, [esi + 0xc0]
call fcn.004773c8
test edi, edi
je 0x44829a
lea ecx, [esi + 0xa0]
call fcn.00471e4a
jmp 0x44829a
mov ecx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zero_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04librarycore_src_slice_sort.rs
mov edx, 0x39
push 0x4b2fe0
call fcn.0048d410
mov ecx, str.internal_error:_entered_unreachable_code
mov edx, 0x28
push 0x4b1fa8
call fcn.0048d410
mov dword [esi + 0x40], 0
lea ecx, [esi + 0xec]
mov edx, 0x4b1f84
push 0x4b1f88
jmp 0x4484be
mov dword [esi + 0x40], 0
lea ecx, [esi + 0xec]
mov edx, 0x4b207c
push 0x4b1f98
lea eax, [esi + 0x40]
push eax
call fcn.00491b35
mov dword [esi + 0x40], 0
lea edx, [esi + 0xec]
lea eax, [esi + 0x40]
push eax
call fcn.00491b8d
mov ecx, 4
jmp 0x4484e9
mov ecx, 8
mov edx, 0x18
call fcn.0048d220
mov ecx, 8
mov edx, 0x40
call fcn.0048d220
mov ecx, str.internal_error:_entered_unreachable_code
mov edx, 0x28
push 0x4b1f00
call fcn.0048d410
mov ecx, 0x4b14f8
call fcn.0048d670
mov ecx, 4
mov edx, 0x14
call fcn.0048d220
mov dword [eax], ecx
mov dword [esi + 0x60], 0
lea ecx, [esi + 0x12f0]
mov eax, dword [esi + 0x60]
mov byte [ecx], al
call fcn.00491c3d
mov ecx, 0x40
mov edx, 0x80
call fcn.0048d220
mov edx, dword [esi + 0x34]
mov eax, edx
mov ecx, dword [esi + 0x90]
shrd eax, ecx, 8
mov byte [esi + 0x40], dl
mov dword [esi + 0x41], eax
mov eax, ecx
shr eax, 8
mov word [esi + 0x45], ax
shr ecx, 0x18
mov byte [esi + 0x47], cl
lea eax, [esi + 0x40]
mov dword [esi + 0x210], eax
lea ecx, [esi + 0x12f0]
mov dword [ecx], str.OS_cant_spawn_worker_thread:
xor eax, eax
inc eax
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
lea edx, [esi + 0x210]
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov dword [esi + 0x214], fcn.004673c0
mov edx, 0x4b3124
call fcn.0048d2c0
push ebx
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [esi + 0xfc], edi
mov dword [esi + 0x12f0], 0
lea ecx, [esi + 0xfc]
mov edx, 0x4b17fc
push 0x4b1868
lea eax, [esi + 0x12f0]
jmp 0x4484c1
mov ecx, 4
mov edx, dword [esi + 4]
call fcn.0048d220
lea ecx, [esi + 0x12f0]
mov dword [ecx], 0x4b2a90
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4b2b58
call fcn.0048d2c0
lea ecx, [esi + 0x12f0]
mov dword [ecx], 0x4b2a90
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4b2b68
call fcn.0048d2c0
push 0x4b2b78
call fcn.0048d5c0
mov ecx, edx
mov edx, dword [esi + 0x20]
push 0x4b2b78
call fcn.0048d3b0
mov ecx, str.assertion_failed:_prev.ref_count_____1
mov edx, 0x27
push 0x4b358c
call fcn.0048d410
mov ecx, 0x4b3020
call fcn.0048d620
mov ecx, 0x4b3030
call fcn.0048d620
mov ecx, str.core_missing__K
mov edx, 0xc
push 0x4b304c
call fcn.0048d760
call fcn.004010d0
lea eax, [esi + 0x2f]
mov ecx, 0x4a6ca8
mov edx, 0x1b
push 0x4a6cc4
jmp 0x448a68
mov ecx, 4
mov edx, edi
call fcn.0048d220
mov ecx, str.assertion_failed:_shared.shutdown_tx.is_some___registry_srcindex.crates.io_1cd66030c949c28d_tokio_1.37.0_src_runtime_blockingpool.rs
mov edx, 0x2e
push 0x4b1cc8
call fcn.0048d410
mov ecx, 4
mov edx, 0x1c
call fcn.0048d220
mov dword [esi + 4], ebx
mov dword [esi + 0x34b8], 0
mov ecx, 4
mov edx, 8
call fcn.0048d220
ud2
mov ecx, str.assertion_failed:_end___start__end___len
mov edx, 0x2c
push 0x4b2be4
call fcn.0048d410
mov ecx, str.assertion_failed:_self.tail.is_none__
mov edx, 0x25
push 0x4b34b8
call fcn.0048d410
mov ecx, 4
mov edx, 8
call fcn.0048d220
mov eax, dword [esi + 0x12f4]
mov ecx, dword [esi + 0x12f8]
jmp 0x448791
mov ecx, 4
mov edx, 0x2c
call fcn.0048d220
mov ecx, str.assertion_failed:_sharded_size.is_power_of_two___registry_srcindex.crates.io_1cd66030c949c28d_tokio_1.37.0_srcutil_sharded_list.rs
mov edx, 0x30
push 0x4b206c
call fcn.0048d410
mov ecx, 8
mov edx, 0x138
call fcn.0048d220
mov dword [esi + 0x12f0], eax
mov dword [esi + 0x12f4], ecx
mov ecx, str.Failed_building_the_Runtime
mov edx, 0x1b
push 0x4a7d94
push 0x4a691c
jmp 0x44881b
add ecx, 8
xor edi, edi
xor edx, edx
call fcn.00462b70
lea ecx, [esi + 0x12f0]
mov dword [ecx], str.too_many_running_threads_in_thread_scope_b
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], edi
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], edi
mov edx, 0x4aef58
call fcn.0048d2c0
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x12f0], eax
mov eax, dword [esi + 0x14]
mov dword [esi + 0x12f4], eax
mov dword [esi + 0x12f8], edi
mov dword [esi + 0x12fc], edx
mov ecx, str.thread_name_may_not_contain_interior_null_bytes
mov edx, 0x2f
push 0x4b1130
push 0x4b1170
lea eax, [esi + 0x12f0]
jmp 0x448a6d
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0x60]
push 0x4b2bf4
call fcn.0048d5c0
mov ecx, 0x4b2ba8
call fcn.0048d740
lea ecx, [esi + 0x12f0]
mov dword [ecx], 0x4b2ee4
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4a7e5c
call fcn.0048d2c0
lea ecx, [esi + 0x210]
call fcn.00436bc4
lea eax, [esi + 0x2f]
mov ecx, str.failed_to_park_thread
mov edx, 0x15
push 0x4a6c88
jmp 0x448a68
lea ecx, [esi + 0x12f0]
mov dword [ecx], str.expected_MultiThread_scheduler
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4b32d0
call fcn.0048d2c0
movups xmm0, xmmword [esi + 0xa0]
lea eax, [esi + 0x40]
movaps xmmword [eax], xmm0
lea edx, [esi + 0x210]
mov dword [edx], str.TOKIO_WORKER_THREADS_registry_srcindex.crates.io_1cd66030c949c28d_tokio_1.37.0_srcloom_stdmod.rs__cannot_be_set_to_0
mov dword [edx + 4], 0x41117d
mov dword [edx + 8], eax
mov dword [edx + 0xc], 0x467560
lea ecx, [esi + 0x12f0]
mov dword [ecx], 0x4b12c8
mov eax, 2
mov dword [ecx + 4], eax
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], edx
mov dword [ecx + 0xc], eax
mov edx, 0x4b12d8
call fcn.0048d2c0
mov al, byte [esi + 0x71]
lea ecx, [esi + 0xfc]
mov byte [ecx], al
lea eax, [esi + 0x12f0]
mov dword [eax], str.TOKIO_WORKER_THREADS_registry_srcindex.crates.io_1cd66030c949c28d_tokio_1.37.0_srcloom_stdmod.rs__cannot_be_set_to_0
mov dword [eax + 4], 0x41117d
mov dword [eax + 8], ecx
mov dword [eax + 0xc], 0x4076d0
lea ecx, [esi + 0x40]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], 0x43f7fb
lea ecx, [esi + 0x210]
mov dword [ecx], 0x4b130c
mov edx, 3
mov dword [ecx + 4], edx
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], edx
mov edx, 0x4b1324
call fcn.0048d2c0
lea eax, [esi + 0x210]
mov dword [eax], str.TOKIO_WORKER_THREADS_registry_srcindex.crates.io_1cd66030c949c28d_tokio_1.37.0_srcloom_stdmod.rs__cannot_be_set_to_0
mov dword [eax + 4], 0x41117d
lea ecx, [esi + 0x12f0]
mov dword [ecx], 0x4b1280
mov dword [ecx + 4], 2
mov dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 1
mov edx, 0x4b1298
call fcn.0048d2c0
mov ecx, 0x4b306c
call fcn.0048d620
mov ecx, str.core_missing__K
mov edx, 0xc
push 0x4b307c
call fcn.0048d760
mov ecx, 0x4b308c
call fcn.0048d620
lea ecx, [esi + 0x210]
mov dword [ecx], 0x4b2ee4
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], ebx
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], ebx
mov edx, 0x4a7d94
call fcn.0048d2c0
lea ecx, [esi + 0x12f0]
mov dword [ecx], 0x4b2138
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4b2198
call fcn.0048d2c0
mov ecx, dword [esi + 8]
push 0x4b2b48
call fcn.0048d5c0
mov ecx, dword [esi + 0x60]
mov edx, ebx
push 0x4b2b48
call fcn.0048d3b0
lea ecx, [esi + 0x40]
jmp 0x448ace
mov ecx, ebx
call fcn.004369e2
lea eax, [esi + 0x2f]
mov ecx, 0x4b0fbc
mov edx, 0x46
push 0x4b1054
push 0x4a68ec
push eax
call fcn.0048d6c0
lea ecx, [esi + 0x40]
mov dword [ecx], str.a_spawned_task_panicked_and_the_runtime_is_configured_to_shut_down_on_unhandled_panic
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4a6c98
call fcn.0048d2c0
lea ecx, [esi + 0x12f0]
mov dword [ecx], 0x4b3478
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4b3480
call fcn.0048d2c0
lea ecx, [esi + 0xc0]
mov dword [ecx], str.expected__CurrentThread::Context_
mov dword [ecx + 4], 1
xor eax, eax
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.Invalid
mov dword [ecx + 0xc], eax
mov edx, 0x4b305c
call fcn.0048d2c0
mov ecx, dword [esi + 4]
call fcn.004369e2
lea eax, [esi + 0x2f]
mov ecx, 0x4b0fbc
mov edx, 0x46
push 0x4b1054
push 0x4b1150
jmp 0x448a6d
mov ecx, 0x4b353c
call fcn.0048d670
mov ecx, 0x4b2b88
call fcn.0048d740
mov ecx, 0x4b2b98
call fcn.0048d740
mov ecx, str.driver_missing
mov edx, 0xe
push 0x4b3000
call fcn.0048d760
push ebp
sub esp, 0x18
lea esi, [ebp - 0x34bc]
mov ebp, dword [esi + 0x34a8]
mov eax, dword [esi + 0x10]
cmp dword [eax + 4], 0
je 0x448b86
mov eax, dword [esi + 0x10]
cmp dword [eax + 8], 9
jb 0x448b75
mov eax, dword [esi + 0x38]
mov eax, dword [eax - 4]
mov dword [esi + 0x38], eax
push dword [esi + 0x38]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
push dword [esi + 0x30]
push 0
push dword [0x4c0b18]
call dword [sym.imp.KERNEL32.dll_HeapFree]
add esp, 0x18
pop ebp
ret