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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xffffffc0
sub esp, 0x600
mov edi, dword [edx + 8]
mov ebx, dword [edx]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], edx
test edi, edi
je 0x444d04
js 0x446f3f
mov eax, dword [0x607474]
mov esi, dword [0x607460]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x444ce5
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x444cf4
mov dword [esi], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x444d09
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
mov esi, 1
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x440], esi
mov dword [esp + 0x444], edi
mov dword [esp + 0x448], edi
mov eax, dword [0x599040]
cmp eax, 2
je 0x444d38
call fcn.0043f0b0
lea esi, [0x599018]
push esi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov edi, dword [0x607464]
mov eax, dword [edi]
test eax, 0x7fffffff
je 0x444e00
call fcn.005373c0
xor al, 1
movzx ecx, byte [0x59901c]
test cl, cl
je 0x444e11
mov dword [esp + 0x550], esi
mov byte [esp + 0x554], al
lea eax, [esp + 0x550]
mov dword [esp + 0xc0], 0x5a7d84
mov dword [esp + 0xc4], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0x320], eax
lea eax, [esp + 0x320]
mov dword [esp + 0x324], 0x43dfb0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 1
lea eax, [esp + 0xc0]
push eax
call fcn.0044fbf0
add esp, 4
mov esi, dword [esp + 0x550]
cmp byte [esp + 0x554], 0
je 0x444f74
push esi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
xor ebx, ebx
jmp 0x4450fd
xor eax, eax
movzx ecx, byte [0x59901c]
test cl, cl
jne 0x444d6d
cmp dword [0x59902c], 0
mov dword [esp + 0x550], esi
mov byte [esp + 0x554], al
je 0x444f97
mov esi, dword [esp + 0x448]
mov ecx, dword [0x599030]
mov dword [esp + 8], eax
mov edx, dword [0x599034]
mov eax, dword [esp + 0x440]
mov dword [esp + 4], esi
push esi
mov dword [esp + 4], eax
push eax
push dword [0x59903c]
push dword [0x599038]
call fcn.0043c3f0
add esp, 0x10
mov edx, dword [0x599020]
mov edi, eax
shr eax, 0x19
mov esi, dword [0x599024]
mov dword [esp + 0x250], 0
movd xmm0, eax
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
lea ecx, [edx - 0xc]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], esi
movdqa xmmword [esp + 0x2e0], xmm0
mov eax, dword [esp + 0x14]
and edi, esi
movdqa xmm0, xmmword [esp + 0x2e0]
movdqu xmm1, xmmword [eax + edi]
pcmpeqb xmm0, xmm1
movdqa xmmword [esp + 0x230], xmm1
pmovmskb ebx, xmm0
test ebx, ebx
jne 0x444f1c
movdqa xmm1, xmmword [esp + 0x230]
pcmpeqd xmm0, xmm0
pcmpeqb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
jne 0x444ffe
mov eax, dword [esp + 0x250]
lea edi, [edi + eax + 0x10]
add eax, 0x10
mov dword [esp + 0x250], eax
jmp 0x444eaa
lea eax, [ebx - 1]
and eax, ebx
test ax, ax
mov ebx, eax
je 0x444ed3
tzcnt eax, ebx
mov edx, dword [esp + 4]
add eax, edi
and eax, esi
neg eax
lea eax, [eax + eax*2]
cmp dword [ecx + eax*4 + 8], edx
jne 0x444f10
lea eax, [ecx + eax*4]
mov edx, dword [esp + 4]
push edx
push dword [eax]
push dword [esp + 8]
mov esi, ecx
call sub.msvcrt.dll_memcmp
mov ecx, esi
mov esi, dword [esp + 0x18]
add esp, 0xc
test eax, eax
jne 0x444f10
mov edi, dword [0x607464]
mov eax, dword [esp + 8]
mov bl, 1
lea esi, [0x599018]
test al, al
jne 0x4450f7
jmp 0x4450e1
mov eax, dword [edi]
test eax, 0x7fffffff
je 0x444df3
call fcn.005373c0
test al, al
jne 0x444df3
mov byte [esi + 4], 1
jmp 0x444df3
mov eax, dword [esp + 0x440]
mov ecx, dword [esp + 0x448]
mov dword [esp], eax
mov dword [esp + 4], ecx
cmp dword [esp + 4], 0
je 0x44500b
js 0x447114
mov eax, dword [0x607474]
mov esi, dword [0x607460]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x444fd8
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x444feb
mov dword [esi], eax
mov ecx, dword [esp + 4]
push ecx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x445010
push dword [esp + 4]
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
mov edi, dword [0x607464]
cmp dword [esp + 4], 0
jne 0x444fb3
mov esi, 1
mov ebx, dword [esp + 4]
push ebx
push dword [esp + 4]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
lea esi, [esp + 0xc0]
lea ecx, [0x599020]
mov edx, esi
call fcn.0043e320
mov eax, dword [0x59902c]
lea ecx, [esp + 0x290]
lea edx, [esp + 0x550]
mov dword [esp + 0xc0], 0x5a7d24
mov dword [esp + 0xc4], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x320], ecx
lea ecx, [esp + 0x320]
mov dword [esp + 0x324], 0x42bbb0
mov dword [esp + 0x328], edx
mov dword [esp + 0x32c], 0x43de90
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xcc], 2
mov dword [esp + 0x290], eax
push esi
call fcn.0044fbf0
add esp, 4
mov esi, dword [esp + 0x550]
movzx eax, byte [esp + 0x554]
xor ebx, ebx
test al, al
jne 0x4450f7
mov eax, dword [edi]
test eax, 0x7fffffff
je 0x4450f7
call fcn.005373c0
test al, al
jne 0x4450f7
mov byte [esi + 4], 1
push esi
call sub.KERNEL32.dll_ReleaseSRWLockExclusive
cmp dword [esp + 0x444], 0
je 0x44511c
mov eax, dword [0x607460]
push dword [esp + 0x440]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
test bl, bl
je 0x4451cf
mov esi, dword [esp + 0x20]
lea eax, [esp + 0x320]
mov dword [esp + 0xc0], 0x5a7cec
mov dword [esp + 0xc4], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 1
mov dword [esp + 0x320], esi
mov dword [esp + 0x324], 0x43d740
lea eax, [esp + 0xc0]
push eax
mov edi, dword [esp + 0x1c]
call fcn.0044fbf0
add esp, 4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 4], 0
je 0x4451a1
mov eax, dword [0x607460]
push dword [ecx]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esi + 4], 0
je 0x4451b7
mov eax, dword [0x607460]
push dword [esi]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [edi + 4], 0
je 0x446dcd
mov eax, dword [0x607460]
push dword [edi]
push 0
jmp 0x446dc6
mov esi, dword [esp + 0x20]
lea eax, [ebp + 0xc]
mov dword [esp + 0xc0], 0x5a7b50
mov dword [esp + 0xc4], 2
mov dword [esp + 0xd0], 0
mov dword [esp + 0x320], eax
lea eax, [esp + 0x320]
mov dword [esp + 0x324], 0x42bbb0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 2
mov dword [esp + 0x328], esi
mov dword [esp + 0x32c], 0x43d740
lea eax, [esp + 0xc0]
push eax
mov edi, dword [esp + 0x1c]
call fcn.0044fbf0
add esp, 4
lea ecx, [esp + 0x290]
mov edx, edi
call fcn.00444990
mov ebx, dword [esi + 8]
mov ecx, dword [esi]
mov esi, 1
mov edi, 1
test ebx, ebx
je 0x4452ad
js 0x447063
mov eax, dword [0x607474]
mov edi, dword [0x607460]
movzx eax, byte [eax]
mov eax, dword [edi]
mov dword [esp + 4], ecx
test eax, eax
jne 0x445296
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446ff3
mov dword [edi], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ecx, dword [esp + 4]
mov edi, eax
test eax, eax
je 0x446ff3
push ebx
push ecx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [esp + 0x244], edi
mov dword [esp + 0x248], ebx
mov dword [esp + 0x24c], ebx
mov edi, dword [eax + 8]
mov ebx, dword [eax]
test edi, edi
je 0x445315
js 0x44706d
mov eax, dword [0x607474]
mov esi, dword [0x607460]
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
jne 0x445302
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x447003
mov dword [esi], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
je 0x447003
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x607474]
mov dword [esp + 0x284], esi
mov dword [esp + 0x288], edi
mov dword [esp + 0x28c], edi
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x44535d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446ee1
mov ecx, dword [0x607460]
mov dword [ecx], eax
push 0x5780
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446ee1
xor ecx, ecx
mov edx, 0xffffa880
nop dword [eax]
mov dword [eax + edx + 0x57e8], ecx
inc ecx
add edx, 0x70
jne 0x445380
movdqa xmm0, xmmword [0x5a4d30]
movdqa xmm1, xmmword [0x5a4d40]
mov dword [esp + 0xc0], 0
mov dword [esp + 0x100], 0
movdqa xmmword [esp + 0x140], xmm0
mov byte [esp + 0x150], 0
mov dword [esp + 0x154], 4
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x160], 4
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov byte [esp + 0x16c], 1
mov dword [esp + 0x170], 0
mov byte [esp + 0x174], 0
mov dword [esp + 0x178], 4
mov dword [esp + 0x17c], 0
movdqa xmmword [esp + 0x180], xmm1
mov byte [esp + 0x190], 1
mov dword [esp + 0x194], eax
mov eax, dword [0x607474]
mov dword [esp + 0x198], 0xc8
mov dword [esp + 0x1c0], 1
mov dword [esp + 0x1c4], 1
mov byte [esp + 0x1c8], 0
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x4454a0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446ef5
mov ecx, dword [0x607460]
mov dword [ecx], eax
push 0x180
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446ef5
mov ecx, eax
mov dword [esp + 0x26c], ebx
and ecx, 0xffffffc0
mov dword [ecx + 0x3c], eax
add ecx, 0x40
push 0x140
lea eax, [esp + 0xc4]
push eax
mov dword [esp + 0x10], ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x24c]
movq xmm0, qword [esp + 0x244]
movq xmm1, qword [esp + 0x284]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28c]
movq qword [esp + 0x60], xmm0
movq qword [esp + 0x6c], xmm1
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0
lea eax, [esp + 0x34]
push 8
push eax
call fcn.00558a60
add esp, 8
mov edi, dword [esp + 0x2a4]
mov ebx, dword [esp + 0x29c]
test edi, edi
je 0x445587
js 0x447077
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x445568
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x445577
mov ecx, dword [0x607460]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x44558c
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
mov esi, 1
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp byte [esp + 0x2d8], 0
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], 0
je 0x4455ce
mov dword [esp + 4], 0
jmp 0x44566d
mov esi, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x2c0]
test esi, esi
je 0x445622
js 0x447013
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x44560e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446f49
mov ecx, dword [0x607460]
mov dword [ecx], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
jne 0x445627
jmp 0x446f49
mov edi, 1
push esi
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp esi, dword [esp + 0x68]
jne 0x445651
push esi
push dword [esp + 0x64]
push edi
call sub.msvcrt.dll_memcmp
add esp, 0xc
test eax, eax
sete bl
test esi, esi
jne 0x445657
jmp 0x445666
xor ebx, ebx
test esi, esi
je 0x445666
push edi
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
xor bl, 1
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
mov edi, 1
test esi, esi
je 0x4456bf
js 0x447013
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x4456ac
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446f49
mov ecx, dword [0x607460]
mov dword [ecx], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov edi, eax
test eax, eax
je 0x446f49
push esi
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x6c]
mov ebx, 1
test esi, esi
je 0x445731
js 0x447081
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x44571e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x44701d
mov ecx, dword [0x607460]
mov dword [ecx], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
je 0x44701d
push esi
push edi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x90]
mov eax, dword [esp + 0x78]
movq xmm0, qword [esp + 0xc0]
mov ecx, dword [esp + 0xc8]
movsd xmm2, qword [esp + 0x80]
mov dword [esp + 0xc4], 4
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 4
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 4
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 4
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 4
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 4
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 4
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 4
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 4
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 1
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 1
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 1
mov dword [esp + 0xc0], 0
mov dword [esp + 0x150], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x153], 0
movsd qword [esp + 0x450], xmm1
movq xmm1, qword [esp + 0x88]
movq qword [esp + 0x320], xmm0
mov dword [esp + 0x328], ecx
mov dword [esp + 0x32c], ebx
mov dword [esp + 0x330], esi
mov dword [esp + 0x334], esi
mov dword [esp + 0x338], eax
movsd qword [esp + 0x440], xmm2
movq qword [esp + 0x448], xmm1
lea ecx, [esp + 0x28]
lea edx, [esp + 0x290]
call fcn.00444790
mov edi, dword [esp + 0x3c]
mov ebx, dword [esp + 0x34]
test edi, edi
je 0x4459b9
js 0x44708b
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x44599a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4459a9
mov ecx, dword [0x607460]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x4459be
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
mov esi, 1
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x328]
movsd xmm0, qword [esp + 0x320]
mov eax, dword [esp + 0x338]
movsd xmm2, qword [esp + 0x440]
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [esp + 0x330]
movsd qword [esp + 0xa0], xmm0
mov dword [esp + 0xb8], eax
movsd qword [esp + 0x2f8], xmm2
movsd qword [esp + 0xb0], xmm1
movsd xmm1, qword [esp + 0x448]
movsd qword [esp + 0x300], xmm1
movsd xmm1, qword [esp + 0x450]
movsd qword [esp + 0x308], xmm1
lea ecx, [esp + 0x550]
push 0x98
lea eax, [esp + 0xc4]
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x28]
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x38], 0
movsd qword [esp + 0x310], xmm0
xorps xmm0, xmm0
mov dword [esp + 0x318], eax
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x50], xmm0
je 0x445a9d
push ebx
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x64], 0
je 0x445ab6
push dword [esp + 0x60]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x70], 0
mov ebx, dword [esp + 8]
je 0x445ad3
push dword [esp + 0x6c]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
lea eax, [esp + 0x448]
mov dword [esp + 0x440], 0
mov dword [esp + 0x444], ebx
push 0x98
lea ecx, [esp + 0x554]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x300]
movq xmm0, qword [esp + 0x2f8]
movsd xmm3, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x50]
mov eax, dword [esp + 0xb8]
movsd qword [esp + 0x4e8], xmm1
movsd xmm1, qword [esp + 0x308]
movq qword [esp + 0x4e0], xmm0
movsd qword [esp + 0x4f0], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x4f8], xmm3
movsd qword [esp + 0x508], xmm2
movsd xmm3, qword [esp + 0xa0]
movsd xmm2, qword [esp + 0xb0]
movsd qword [esp + 0x500], xmm1
movsd xmm1, qword [esp + 0x58]
movsd qword [esp + 0x510], xmm1
movsd xmm1, qword [esp + 0xa8]
mov dword [esp + 0x530], eax
mov eax, dword [esp + 0x318]
movsd qword [esp + 0x518], xmm3
movsd qword [esp + 0x528], xmm2
movsd qword [esp + 0x520], xmm1
mov dword [esp + 0x53c], eax
movq xmm1, qword [esp + 0x310]
mov eax, dword [esp + 4]
movq qword [esp + 0x534], xmm1
mov dword [esp + 0x540], esi
mov dword [esp + 0x544], edi
mov dword [esp + 0x548], edi
mov byte [esp + 0x54c], 0
mov byte [esp + 0x54d], al
mov byte [esp + 0x54e], 0
call fcn.00535d00
mov edi, eax
sub esp, 4
push 0
call fcn.0052bb40
add esp, 8
lock inc dword [eax]
mov ebx, eax
jle 0x446e0a
mov eax, dword [0x607474]
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], 1
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
mov dword [esp + 4], ebx
test eax, eax
jne 0x445c7f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446f09
mov ecx, dword [0x607460]
mov dword [ecx], eax
push 0x18
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446f09
movsd xmm0, qword [esp + 0xd0]
mov dword [esp], edi
mov esi, eax
movsd qword [eax + 0x10], xmm0
movq xmm0, qword [esp + 0xc0]
movq xmm1, qword [esp + 0xc8]
movq qword [eax + 8], xmm1
movq qword [eax], xmm0
lock inc dword [eax]
jle 0x446e0a
movzx eax, byte [0x63206c]
test al, al
je 0x445d02
mov byte [0x63206c], 1
xor ecx, ecx
call fcn.00549500
test eax, eax
je 0x447095
mov edi, dword [eax]
mov dword [eax], 0
test edi, edi
je 0x445d02
lock inc dword [edi]
jle 0x446e0a
xor ebx, ebx
jmp 0x445d11
movzx eax, byte [0x63206c]
xor edi, edi
mov bl, 1
test al, al
je 0x445d39
mov byte [0x63206c], 1
xor ecx, ecx
call fcn.00549500
test eax, eax
je 0x44702d
mov ecx, dword [eax]
mov dword [eax], edi
test ecx, ecx
je 0x445d39
lock dec dword [ecx]
jne 0x445d39
call fcn.0043c940
lea eax, [esp + 0x440]
push 0x110
push eax
lea ebx, [esp + 0x328]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 4]
mov dword [esp + 0x434], eax
mov dword [esp + 0x430], edi
mov dword [esp + 0x438], esi
mov eax, dword [esi + 8]
test eax, eax
je 0x445d80
lock inc dword [eax + 0xc]
jle 0x4470b8
push 0x120
push ebx
lea eax, [esp + 0xc8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x445dbe
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446f1a
mov ecx, dword [0x607460]
mov dword [ecx], eax
push 0x120
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446f1a
mov edi, eax
push 0x120
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x80]
push 0x5a5468
push edi
push dword [esp + 8]
push eax
call fcn.00541bb0
add esp, 0x10
movzx ebx, byte [esp + 0x80]
cmp ebx, 4
jne 0x446f59
push dword [esp + 0x84]
call sub.KERNEL32.dll_CloseHandle
mov ecx, dword [esp + 4]
lock dec dword [ecx]
jne 0x445e29
call fcn.0043ce80
lock dec dword [esi]
jne 0x445e35
mov ecx, esi
call fcn.0043c910
cmp dword [esp + 0x294], 0
je 0x445e54
push dword [esp + 0x290]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x2a0], 0
je 0x445e73
push dword [esp + 0x29c]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
lea ecx, [esp + 0x2a8]
call fcn.0043b1e0
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x446fda
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], 0
mov dword [esp + 0xd0], 0
lea eax, [esp + 0xc0]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.0054d6b0
add esp, 8
call fcn.00532e80
mov dword [esp + 0x278], eax
mov eax, dword [0x607474]
mov dword [esp + 0x270], ecx
mov dword [esp + 0x274], edx
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
mov ebx, dword [esp + 8]
test eax, eax
jne 0x445f0d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446f2e
mov ecx, dword [0x607460]
mov dword [ecx], eax
push 0x10
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446f2e
mov dword [eax], 1
mov dword [eax + 4], 1
mov dword [eax + 0xc], 0
mov dword [esp + 0x10], eax
mov dword [eax + 8], 0
lea eax, [ebx + 0x8c]
mov dword [esp + 0x27c], eax
nop dword [eax + eax]
pxor xmm0, xmm0
mov dword [esp + 0x298], 0x3b9aca00
mov dword [esp + 0x560], 0
movdqa xmmword [esp + 0x550], xmm0
mov eax, dword [ebx]
xor edi, edi
mov dword [esp + 0xc], 1
mov dword [esp + 0x230], 0
mov dword [esp + 4], eax
jmp 0x445fbb
call sub.KERNEL32.dll_SwitchToThread
nop word cs:[eax + eax]
nop
mov eax, dword [ebx]
mov ecx, dword [esp + 0xc]
inc edi
add esi, ecx
add ecx, 2
mov dword [esp + 4], eax
mov dword [esp + 0x230], esi
mov dword [esp + 0xc], ecx
mov edx, ebx
cmp edi, 6
mov ecx, 6
mov ebx, dword [ebx + 0x88]
mov dword [esp], edi
cmovb ecx, edi
xor eax, eax
mov edi, dword [esp + 4]
mov esi, dword [edx + 0xd4]
sub eax, dword [edx + 0x84]
imul ecx, ecx
dec ebx
and ebx, edi
mov dword [esp + 0x14], esi
inc edi
mov dword [esp + 0x250], eax
imul eax, ebx, 0x70
mov dword [esp + 0x2e0], eax
mov eax, dword [esi + eax + 0x68]
cmp edi, eax
jne 0x446060
inc ebx
cmp ebx, dword [edx + 0x80]
mov ebx, edx
mov edx, dword [esp + 4]
jb 0x446025
mov eax, dword [esp + 0x250]
and eax, edx
add eax, dword [ebx + 0x84]
mov esi, eax
mov eax, edx
lock cmpxchg dword [ebx], esi
mov edi, dword [esp]
je 0x446240
mov esi, dword [esp + 0x230]
cmp edi, 6
mov eax, 6
cmovb eax, edi
test eax, eax
je 0x445fa0
pause
dec ecx
jne 0x446050
jmp 0x445fa0
mov edx, dword [esp + 4]
cmp eax, edx
jne 0x4460b0
mfence
mov ebx, dword [esp + 8]
mov eax, dword [ebx + 0x40]
mov esi, dword [ebx + 0x88]
mov edi, esi
not edi
and edi, eax
cmp edi, edx
je 0x4460f0
mov edi, dword [esp]
mov esi, dword [esp + 0x230]
mov eax, 6
cmp edi, 6
cmovb eax, edi
test eax, eax
je 0x445fa0
nop
pause
dec ecx
jne 0x4460a0
jmp 0x445fa0
mov edi, dword [esp]
mov ebx, dword [esp + 8]
mov esi, dword [esp + 0x230]
cmp edi, 7
jae 0x445f90
test edi, edi
je 0x445fa0
mov eax, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
pause
dec eax
jne 0x4460e0
jmp 0x445fa0
test esi, eax
jne 0x446b13
mov edi, dword [esp + 0x298]
cmp edi, 0x3b9aca00
je 0x44613e
mov eax, dword [esp + 0x294]
mov ebx, dword [esp + 0x290]
mov dword [esp + 4], eax
call fcn.00532e80
cmp eax, ebx
mov esi, edx
sbb edx, dword [esp + 4]
jb 0x44613e
xor esi, dword [esp + 4]
xor eax, ebx
or esi, eax
jne 0x446b13
cmp ecx, edi
jae 0x446b13
lea eax, [esp + 0x550]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xc4], eax
lea eax, [esp + 0x290]
mov dword [esp + 0xc8], eax
push 0
call fcn.005493a0
add esp, 4
mov edi, eax
test eax, eax
je 0x4461d0
mov esi, dword [edi]
mov dword [edi], 0
test esi, esi
je 0x446206
mov dword [esp + 0x320], esi
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x320]
call fcn.00438bb0
mov ecx, dword [edi]
mov ebx, dword [esp + 8]
mov dword [edi], esi
test ecx, ecx
je 0x445f73
lock dec dword [ecx]
jne 0x445f73
call fcn.0043ced0
jmp 0x445f73
call fcn.005329f0
mov esi, eax
mov dword [esp + 0x320], eax
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x320]
call fcn.00438bb0
lock dec dword [esi]
jne 0x4461fd
mov ecx, esi
call fcn.0043ced0
mov ebx, dword [esp + 8]
jmp 0x445f73
call fcn.005329f0
mov esi, eax
mov dword [esp + 0x320], eax
lea ecx, [esp + 0xc0]
lea edx, [esp + 0x320]
call fcn.00438bb0
lock dec dword [esi]
jne 0x446233
mov ecx, esi
call fcn.0043ced0
mov ebx, dword [esp + 8]
jmp 0x445f73
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x2e0]
lea edi, [esp + 0xc0]
lea eax, [esi + ecx + 0x68]
add esi, ecx
mov ecx, 0x1a
mov dword [esp + 0x550], esi
add edx, dword [ebx + 0x84]
mov dword [esp + 0x554], edx
rep movsd dword es:[edi], dword [esi]
mov dword [eax], edx
mov ecx, dword [esp + 0x27c]
call fcn.00438120
movzx ebx, byte [esp + 0xc0]
push 0x63
lea eax, [esp + 0xc5]
push eax
lea esi, [esp + 0x448]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov bh, byte [esp + 0x124]
lea ecx, [esp + 0x125]
movzx eax, byte [ecx + 2]
movzx ecx, word [ecx]
cmp bh, 2
mov byte [esp + 0x42], al
mov word [esp + 0x40], cx
je 0x446b13
push 0x63
push esi
lea edi, [esp + 0x329]
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x42]
mov byte [esp + 4], bh
mov byte [edi + 0x66], al
movzx eax, word [esp + 0x40]
mov word [edi + 0x64], ax
mov edi, dword [esp + 0x30]
mov byte [esp + 0x320], bl
mov byte [esp + 0x384], bh
mov eax, dword [edi + 0x3c]
mov ebx, dword [esp + 8]
cmp eax, 0x64
jb 0x4463b2
nop word cs:[eax + eax]
nop
mov eax, dword [edi + 0x3c]
mov dword [esp + 0xc0], 0x5a7be4
mov dword [esp + 0xc4], 3
mov dword [esp + 0xd0], 0
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], 2
mov dword [esp + 0x550], eax
lea eax, [esp + 0x550]
mov dword [esp + 0x440], eax
mov dword [esp + 0x444], 0x42bbb0
mov dword [esp + 0x448], 0x5a7bb4
mov dword [esp + 0x44c], 0x42bbb0
lea eax, [esp + 0xc0]
push eax
call fcn.0044fbf0
add esp, 4
push 0x3e8
call sub.KERNEL32.dll_Sleep
mov eax, dword [edi + 0x3c]
cmp eax, 0x63
ja 0x446320
mov dword [esp + 0x280], edi
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x550]
call fcn.00444990
mov ebx, dword [esp + 0x380]
mov edi, dword [esp + 0x378]
mov esi, 1
mov eax, 1
test ebx, ebx
je 0x446424
js 0x446e86
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x446413
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446e62
mov ecx, dword [0x607460]
mov dword [ecx], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446e62
mov dword [esp], ebx
push ebx
push edi
mov dword [esp + 0x14], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0x368]
mov ebx, dword [esp + 0x360]
test edi, edi
je 0x446489
js 0x446e7c
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x446476
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446e52
mov ecx, dword [0x607460]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
je 0x446e52
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xa0], esi
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], edi
mov edi, dword [esp + 0x374]
movdqu xmm0, xmmword [esp + 0x320]
mov eax, dword [esp + 0x334]
mov edx, dword [esp + 0x330]
mov ecx, dword [esp + 0x338]
mov ebx, dword [esp + 0x36c]
test edi, edi
movdqa xmmword [esp + 0x250], xmm0
mov dword [esp + 0x230], eax
mov dword [esp + 0x2e0], edx
mov dword [esp + 0x14], ecx
je 0x446540
js 0x446e72
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x446522
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446e42
mov ecx, dword [0x607460]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x446545
jmp 0x446e42
mov esi, 1
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, dword [esp + 0x33c]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
test ebx, ebx
je 0x4466c0
mov edi, dword [esp + 0x344]
mov esi, 1
mov eax, 1
test edi, edi
je 0x4465bf
js 0x446ecd
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x4465ae
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446e90
mov ecx, dword [0x607460]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446e90
push edi
push ebx
push eax
mov ebx, eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x440], ebx
mov dword [esp + 0x444], edi
mov dword [esp + 0x448], edi
mov edi, dword [esp + 0x350]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x348]
test edi, edi
je 0x446638
js 0x446ed7
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x446625
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446ea0
mov ecx, dword [0x607460]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
je 0x446ea0
push edi
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x35c]
mov dword [esp + 0xc0], esi
mov esi, dword [esp + 0x354]
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], edi
test eax, eax
mov dword [esp + 0x1c], eax
je 0x4466d0
mov edi, dword [esp + 0x10]
js 0x446ec3
mov eax, dword [0x607474]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
jne 0x4466a0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x446eb0
mov ecx, dword [0x607460]
mov dword [ecx], eax
push dword [esp + 0x1c]
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4466d9
jmp 0x446eb0
mov edi, dword [esp + 0x10]
mov dword [esp + 0x24], 0
jmp 0x446723
mov edi, dword [esp + 0x10]
mov eax, 1
push dword [esp + 0x1c]
push esi
mov dword [esp + 0xa4], eax
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x444]
mov ebx, dword [esp + 0x448]
movq xmm0, qword [esp + 0xc0]
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x98], eax
movq qword [esp + 0x290], xmm0
mov dword [esp + 0x298], ecx
movsd xmm0, qword [esp + 0xa0]
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x298]
movsd qword [esp + 0x80], xmm0
movsd xmm0, qword [esp + 0x40]
mov dword [esp + 0x300], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x68], ecx
mov edx, edi
movsd qword [esp + 0x2f8], xmm0
movsd xmm0, qword [esp + 0x290]
movsd qword [esp + 0x60], xmm0
lock inc dword [edi]
lea edi, [esp + 0x440]
jle 0x446e0a
mov ecx, 0x13
lea esi, [esp + 0x550]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x125]
lea edi, [esp + 0x12c]
lea esi, [esp + 0x440]
mov eax, dword [esp + 0x68]
movsd xmm0, qword [esp + 0x60]
mov dword [esp + 0x298], eax
mov eax, dword [esp + 0x88]
movsd qword [esp + 0x290], xmm0
movsd xmm0, qword [esp + 0x80]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x300]
movsd qword [esp + 0x40], xmm0
movsd xmm0, qword [esp + 0x2f8]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x280]
movsd qword [esp + 0xa0], xmm0
lock inc dword [eax + 0x3c]
movaps xmm0, xmmword [esp + 0x250]
mov eax, dword [esp + 0x2e0]
movups xmmword [esp + 0xc0], xmm0
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x230]
movsd xmm0, qword [esp + 0x290]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xe4], ebx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x298]
movsd qword [ecx - 0x3d], xmm0
movsd xmm0, qword [esp + 0x40]
mov dword [ecx - 0x35], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x48]
movsd qword [ecx - 0x25], xmm0
movsd xmm0, qword [esp + 0xa0]
mov dword [ecx - 0x1d], eax
mov eax, dword [esp + 0xa8]
movsd qword [ecx - 0x19], xmm0
mov dword [ecx - 0x11], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x118], eax
mov eax, dword [esp]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], eax
movzx eax, byte [esp + 4]
mov byte [esp + 0x124], al
movzx eax, byte [esp + 0x36]
mov byte [ecx + 2], al
movzx eax, word [esp + 0x34]
mov word [ecx], ax
mov eax, dword [0x607474]
mov dword [esp + 0x128], edx
mov ecx, 0x13
rep movsd dword es:[edi], dword [esi]
movzx eax, byte [eax]
mov eax, dword [0x607460]
mov eax, dword [eax]
test eax, eax
je 0x446930
mov esi, dword [esp + 0x10]
jmp 0x446949
call sub.KERNEL32.dll_GetProcessHeap
mov esi, dword [esp + 0x10]
test eax, eax
je 0x446df6
mov ecx, dword [0x607460]
mov dword [ecx], eax
push 0xb8
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x446df6
movaps xmm0, xmmword [esp + 0x250]
mov ecx, dword [esp + 0x2e0]
mov edi, eax
lea edx, [esp + 0x440]
add edi, 0x6c
movups xmmword [eax], xmm0
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x230]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x24]
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x98]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x20], ecx
mov ecx, dword [esp + 0x298]
mov dword [eax + 0x30], ecx
mov ecx, dword [esp + 0x9c]
movsd xmm0, qword [esp + 0x290]
movsd qword [eax + 0x28], xmm0
mov dword [eax + 0x34], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0x38], ecx
mov dword [eax + 0x3c], ecx
movsd xmm0, qword [esp + 0x40]
movsd qword [eax + 0x40], xmm0
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x48], ecx
movq xmm0, qword [esp + 0xa0]
movq qword [eax + 0x4c], xmm0
mov ecx, dword [esp + 0xa8]
mov dword [eax + 0x54], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x58], ecx
mov ecx, dword [esp]
mov dword [eax + 0x5c], ecx
mov dword [eax + 0x60], ecx
movzx ecx, byte [esp + 4]
mov byte [eax + 0x64], cl
movzx ecx, byte [esp + 0x36]
mov byte [eax + 0x67], cl
movzx ecx, word [esp + 0x34]
mov word [eax + 0x65], cx
mov dword [eax + 0x68], esi
mov ecx, 0x13
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov esi, edx
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push 0x5a4eb0
push eax
mov ebx, dword [esp + 0x10]
call fcn.00436c00
add esp, 8
test eax, eax
jne 0x446e0e
mov eax, dword [esp + 0x378]
mov ecx, dword [esp + 0x380]
lea edx, [esp + 0x40]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x294], ecx
lea ecx, [esp + 0x290]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0xc0], ecx
lea ecx, [esp + 0xc0]
mov dword [esp + 0xc4], 0x532240
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], 0x42bbb0
mov dword [esp + 0xd0], 0x5a7bb4
mov dword [esp + 0x440], 0x5a7b9c
mov dword [esp + 0x444], 3
mov dword [esp + 0x450], 0
mov dword [esp + 0xd4], 0x42bbb0
mov dword [esp + 0x448], ecx
mov dword [esp + 0x44c], 3
mov dword [esp + 0x40], eax
push esi
call fcn.0044fbf0
add esp, 4
lea ecx, [esp + 0x320]
call fcn.0043a2b0
jmp 0x445f50
mov ebx, dword [esp + 0x20]
lea eax, [esp + 0x320]
mov dword [esp + 0xc0], 0x5a7c20
mov dword [esp + 0xc4], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], 1
mov dword [esp + 0x320], ebx
mov dword [esp + 0x324], 0x43d740
lea eax, [esp + 0xc0]
push eax
mov edi, dword [esp + 0x1c]
call fcn.0044fbf0
add esp, 4
mov dword [esp + 0xc0], 0x5a7c64
mov dword [esp + 0xc4], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0xc8], 0x5a4ee0
mov dword [esp + 0xcc], 0
lea eax, [esp + 0xc0]
push eax
call fcn.0044fbf0
add esp, 4
lea eax, [esp + 0x28]
push eax
call fcn.0054daa0
add esp, 4
mov eax, dword [esp + 0x10]
movq xmm0, qword [eax + 8]
pshufd xmm1, xmm0, 0x55
movd dword [esp + 0x290], xmm0
movd dword [esp + 0x294], xmm1
call fcn.00532e80
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov dword [esp + 0xc8], ecx
push dword [esp + 0x270]
push dword [esp + 0x278]
push dword [esp + 0x280]
lea eax, [esp + 0xcc]
push eax
call fcn.00532f10
add esp, 0x10
xor esi, esi
cmp ecx, 0x3b9aca00
mov dword [esp + str._INFODEC___files_decrypted_for:], 0x5a7c90
mov dword [esp + 0x324], 2
mov dword [esp + 0xc0], 2
mov dword [esp + 0xc8], 2
mov dword [esp + 0xd0], 0x20
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov byte [esp + 0xdc], 3
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 4
mov dword [esp + 0xe8], 2
mov dword [esp + 0xf0], 0x20
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 0
mov byte [esp + 0xfc], 3
cmove eax, esi
cmove edx, esi
cmove ecx, esi
mov dword [esp + 0x440], eax
lea eax, [esp + 0x290]
mov dword [esp + 0x444], edx
mov dword [esp + 0x448], ecx
mov dword [esp + 0x550], eax
lea eax, [esp + 0x440]
mov dword [esp + 0x554], 0x42bdf0
mov dword [esp + 0x558], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x55c], 0x429bb0
mov dword [esp + 0x330], eax
lea eax, [esp + 0x550]
mov dword [esp + 0x334], 2
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], 2
lea eax, [esp + 0x320]
push eax
call fcn.0044fbf0
add esp, 4
mov ecx, dword [esp + 0x10]
lock dec dword [ecx]
jne 0x446d71
call fcn.0043ce60
lea ecx, [esp + 0x28]
call fcn.0043a460
mov ecx, dword [esp + 8]
call fcn.0043b940
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x446da1
push dword [esp + 0x26c]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [ebx + 4], 0
je 0x446db7
push dword [ebx]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [edi + 4], 0
je 0x446dcd
push dword [edi]
push 0
mov eax, dword [0x607460]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [edi + 0x10], 0
je 0x446de4
mov eax, dword [0x607460]
push dword [edi + 0xc]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
add edi, 0x18
mov ecx, edi
call fcn.0043b1e0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push 0xb8
push 8
call fcn.0041a8c0
add esp, 8
jmp 0x447119
ud2
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
push 0x5a4e90
push 0x5a5580
lea eax, [esp + 0xc8]
push eax
push 0x32
push str.ThreadPool::execute_unable_to_send_job_into_queue._usr_local_cargo_registry_src_index.crates.io_6f17d22bba15001f_threadpool_1.8.1_src_lib.rs6NZ
call fcn.004254f0
add esp, 0x14
jmp 0x447119
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push ebx
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push dword [esp + 0x1c]
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
push 0x5780
push 8
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push 0x140
push 0x40
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push 0x18
push 4
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push 0x120
push 8
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push 0x10
push 8
call fcn.0041a8c0
add esp, 8
jmp 0x447119
call fcn.0041a880
jmp 0x447119
push esi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
movzx eax, word [esp + 0x81]
mov ecx, dword [esp + 0x84]
movzx edi, byte [esp + 0x83]
mov dword [esp + 0xc], eax
mov dword [esp], ecx
lock dec dword [esi]
jne 0x446f83
mov ecx, esi
call fcn.0043c910
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 4]
shl edi, 0x18
shl eax, 8
or edi, eax
or edi, ebx
lock dec dword [ecx]
jne 0x446fa3
mov ecx, dword [esp + 4]
call fcn.0043ce80
mov eax, dword [esp]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], eax
push 0x5a5458
push 0x5a5570
lea eax, [esp + 0xc8]
push eax
push 0x16
push 0x5a53f4
call fcn.004254f0
add esp, 0x14
jmp 0x447119
push 0x601fdc
push 0x21
push 0x601f5f
call fcn.004251d0
add esp, 0xc
jmp 0x447119
push ebx
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
push edi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
call fcn.0041a880
jmp 0x447119
push esi
push 1
call fcn.0041a8c0
add esp, 8
jmp 0x447119
test bl, bl
jne 0x44703d
lock dec dword [edi]
jne 0x44703d
mov ecx, edi
call fcn.005157f0
push 0x5ffa88
push 0x5fe920
lea eax, [esp + 0xc8]
push eax
push 0x46
push str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
call fcn.004254f0
add esp, 0x14
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
call fcn.0041a880
jmp 0x447119
push 0x5ffa88
push 0x5fe920
lea eax, [esp + 0xc8]
push eax
push 0x46
push str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destructionlibrary_std_src_threadlocal.rs
call fcn.004254f0
add esp, 0x14
jmp 0x447119
add eax, 8
push 0
push eax
call fcn.0052aff0
add esp, 8
mov dword [esp + 0xc0], 0x5ff35c
mov dword [esp + 0xc4], 1
mov dword [esp + 0xd0], 0
mov dword [esp + 0xc8], str.called__Option::unwrap____on_a__None__value_rustc_d5c2e9c342b358556da91d61ed4133f6f50fc0c3library_alloc_srccollections_btree_navigate.rs
mov dword [esp + 0xcc], 0
push 0x5ff384
lea eax, [esp + 0xc4]
push eax
call fcn.00425150
add esp, 8
jmp 0x447119
call fcn.0041a880
ud2