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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
mov eax, 0x1c80
call fcn.004e4190
mov al, byte [0x538038]
mov ebx, ecx
mov ecx, 8
mov edx, 4
call fcn.004018b0
test eax, eax
je 0x44f592
xor edi, edi
mov esi, eax
inc edi
mov dword [eax + 4], edi
mov dword [eax], edi
call fcn.004b45a3
xor ecx, ecx
mov dword [esp + 0xe0], ecx
mov byte [esp + 0xe4], cl
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], 0x400
mov byte [esp + 0x102], cl
mov dword [esp + 0x90], ecx
mov dword [esp + 0xf4], 0x200
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], 0x52cbd8
mov dword [esp + 0x98], ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc8], ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xb0], 0x3b9aca00
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xf8], 0x3d
mov dword [esp + 0xfc], pe_nt_image_headers32
mov word [esp + 0x103], 0
mov word [esp + 0x100], 0x101
push ecx
push ecx
push ecx
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test eax, eax
je 0x44ce00
mov esi, eax
mov al, byte [0x538038]
mov ecx, 0xc
mov edx, 4
call fcn.004018b0
test eax, eax
je 0x44f583
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], esi
mov dword [esp], eax
lock inc dword [eax]
jle 0x44f54a
mov al, byte [0x538038]
mov ecx, 0x40
mov edx, 4
mov esi, 4
call fcn.004018b0
test eax, eax
je 0x44f560
mov edx, dword [esp]
xor ecx, ecx
mov dword [eax], edi
mov dword [eax + 4], edi
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], ecx
mov byte [eax + 0x14], cl
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], esi
mov dword [eax + 0x20], ecx
mov dword [eax + 0x24], ecx
mov byte [eax + 0x28], cl
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x30], esi
mov dword [eax + 0x34], ecx
mov dword [eax + 0x38], ecx
mov byte [eax + 0x3c], cl
lock inc dword [edx]
jle 0x44f54a
mov dword [esp + 0xc], eax
lock inc dword [eax]
jle 0x44f54a
mov al, byte [0x538038]
mov ecx, 0x4000
mov edx, 4
call fcn.004018b0
test eax, eax
je 0x44f5e3
mov esi, eax
mov ecx, 0x3ff
xor edx, edx
mov dword [eax + 4], edx
mov dword [eax], edx
mov dword [eax + 0xc], edx
mov dword [eax + 8], edx
add eax, 0x10
dec ecx
jne 0x44c995
xor ecx, ecx
mov edx, 8
mov dword [eax + 4], ecx
mov dword [eax], ecx
mov dword [eax + 0xc], ecx
mov dword [eax + 8], ecx
mov ecx, 0x4000
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
mov dword [esp + 4], eax
je 0x44f5ea
mov dword [esp + 0x10], esi
mov ecx, 0x40
mov edx, 4
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
je 0x44f560
mov dword [esp + 0x12c], eax
mov al, byte [esp + 0x3ba]
xor esi, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x101c], esi
mov dword [esp + 0x1021], esi
mov dword [esp + 0x101d], esi
mov dword [esp + 0x1018], esi
movsd xmm0, qword [esp + 0x101d]
mov byte [esp + 0x2e], al
movzx eax, word [esp + 0x3b8]
movsd qword [esp + 0x135], xmm0
movq xmm0, qword [esp + 0x1018]
mov word [esp + 0x2c], ax
movzx eax, word [esp + 0x1b8]
movq qword [esp + 0x130], xmm0
mov word [esp + 0x20], ax
mov al, byte [esp + 0x1ba]
mov byte [esp + 0x22], al
movzx eax, word [esp + 0x3c]
mov word [esp + 0x7c], ax
mov al, byte [esp + 0x3e]
mov byte [esp + 0x7e], al
mov al, byte [esp + 0x2e]
mov byte [esp + 0x72], al
movzx eax, word [esp + 0x2c]
mov word [esp + 0x70], ax
mov al, byte [esp + 0x22]
mov byte [esp + 0x7a], al
movzx eax, word [esp + 0x20]
mov word [esp + 0x78], ax
mov al, byte [esp + 0x7e]
mov byte [esp + 0x76], al
movzx eax, word [esp + 0x7c]
mov word [esp + 0x74], ax
call fcn.0049b760
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x128], eax
mov ecx, 0x20
mov edx, 8
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
mov dword [esp + 8], eax
je 0x44f5f9
xor edi, edi
mov eax, 0xfffffe00
mov dword [esp + eax + 0x5b8], esi
mov dword [esp + eax + 0x5bc], esi
add eax, 8
jne 0x44caf9
mov eax, 0x200
push eax
lea eax, [esp + 0x3bc]
push eax
lea eax, [esp + 0x1c0]
push eax
call fcn.004e4d00
add esp, 0xc
imul eax, edi, 0x210
lea ebx, [esp + eax + 0x1018]
mov eax, 0x200
push eax
lea eax, [esp + 0x1bc]
push eax
push ebx
call fcn.004e4d00
add esp, 0xc
mov dword [ebx + 0x204], esi
mov dword [ebx + 0x200], esi
mov dword [ebx + 0x208], edi
inc edi
cmp edi, 6
jne 0x44caf4
lea eax, [esp + 0x1018]
push 0xc60
push eax
lea edi, [esp + 0x3c0]
push edi
call fcn.004e4d00
add esp, 0xc
mov al, byte [0x538038]
mov ecx, 0xc60
mov edx, 8
call fcn.004018b0
test eax, eax
je 0x44f600
mov esi, eax
push 0xc60
push edi
push eax
call fcn.004e4d00
add esp, 0xc
mov edx, dword [esp + 8]
xor eax, eax
mov dword [esp + 0x101f], eax
mov dword [esp + 0x101b], eax
mov dword [esp + 0x1027], eax
mov dword [esp + 0x1023], eax
mov dword [edx], eax
mov byte [edx + 4], 0
movsd xmm0, qword [esp + 0x1018]
movsd xmm1, qword [esp + 0x1020]
movsd qword [edx + 5], xmm0
movsd qword [edx + 0xd], xmm1
mov ecx, dword [esp + 0x1027]
mov dword [edx + 0x14], ecx
mov dword [edx + 0x18], esi
mov dword [esp + 0x150], 0x400
mov dword [esp + 0x158], eax
mov eax, dword [esp + 4]
mov edx, 4
movzx ecx, word [esp + 0x70]
movsd xmm0, qword [esp + 0x130]
movsd xmm1, qword [esp + 0x135]
mov edi, dword [esp + 0xf4]
mov dword [esp + 0x154], eax
mov word [esp + 0x60], cx
mov cl, byte [esp + 0x72]
movsd qword [esp + 0x40], xmm0
movsd qword [esp + 0x45], xmm1
movzx eax, word [esp + 0x60]
movq xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x45]
mov byte [esp + 0x62], cl
movzx ecx, word [esp + 0x78]
mov word [esp + 0x64], ax
mov al, byte [esp + 0x62]
movq qword [esp + 0x1a0], xmm0
movsd qword [esp + 0x1a5], xmm1
mov word [esp + 0x5c], cx
mov cl, byte [esp + 0x7a]
mov byte [esp + 0x66], al
movzx eax, word [esp + 0x5c]
mov byte [esp + 0x5e], cl
movzx ecx, word [esp + 0x74]
mov word [esp + 0x6c], ax
mov al, byte [esp + 0x5e]
mov word [esp + 0x58], cx
mov cl, byte [esp + 0x76]
mov byte [esp + 0x6e], al
movzx eax, word [esp + 0x58]
mov byte [esp + 0x5a], cl
mov ecx, dword [esp + 0x83]
mov word [esp + 0x68], ax
mov al, byte [esp + 0x5a]
mov dword [esp + 0x8b], ecx
mov ecx, 0x20
mov byte [esp + 0x6a], al
mov eax, dword [esp + 0x80]
mov dword [esp + 0x88], eax
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
mov esi, 1
je 0x44f60f
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 0x18], 0
mov dword [esp + 0x18], edi
mov byte [eax + 0x1c], 0
mov ebx, eax
lock inc dword [eax]
jle 0x44f54a
mov al, byte [0x538038]
mov ecx, 0xc
mov edx, 4
call fcn.004018b0
test eax, eax
je 0x44f583
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
mov edi, eax
mov dword [esp + 0x19c], ebx
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xb0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x14], eax
call fcn.004b3780
test eax, eax
je 0x44f5a1
mov ecx, dword [eax + 0xc]
mov edx, dword [eax]
mov esi, dword [eax + 8]
mov dword [esp + 0x24], ecx
mov ecx, edx
add ecx, 1
mov dword [eax], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], ecx
adc ecx, 0
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0xb8]
lock inc dword [ecx]
jle 0x44f54a
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x34], esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x44ce5d
lock inc dword [eax]
jle 0x44f54a
mov ecx, dword [esp + 0xc4]
mov dword [esp + 0x10c], ecx
jmp 0x44ce5d
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea esi, [esp + 0x1018]
xor ecx, ecx
mov edx, esi
mov dword [esi], 0
mov dword [esi + 4], eax
call fcn.0044f7a2
mov ecx, dword [ebx + 0x13c]
mov edx, eax
call fcn.0046ce19
test eax, eax
mov dword [esi], eax
mov dword [esi + 4], edx
je 0x44d17b
cmp eax, 1
jne 0x44d167
test edx, edx
mov dword [esp + 0x3b8], edx
je 0x44d17b
lea eax, [esp + 0x3b8]
jmp 0x44d172
mov ecx, dword [esp + 0xc8]
mov dword [esp + 0x118], edx
mov dword [esp + 0x114], eax
test ecx, ecx
mov dword [esp + 0x110], ecx
je 0x44ce96
lock inc dword [ecx]
jle 0x44f54a
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x108], eax
jmp 0x44ce96
mov al, byte [0x538038]
mov ecx, 0xa8
mov edx, 8
call fcn.004018b0
test eax, eax
je 0x44f61e
mov esi, dword [esp + 0x1c]
xor edx, edx
cmp ebx, 0x3b9aca00
mov ecx, 0xa
movsd xmm0, qword [0x52c400]
cmove ebx, edx
cmove esi, ecx
mov ecx, 1
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x11c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x10], esi
mov esi, dword [esp + 0x28]
cmove ecx, edx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x30]
mov dword [eax + 0x20], esi
mov esi, dword [esp + 0x38]
mov dword [eax + 0x24], ebx
mov dword [eax + 0x28], edx
mov byte [eax + 0x2c], dl
mov dword [eax + 0x30], edx
mov dword [eax + 0x34], 4
mov dword [eax + 0x38], edx
mov dword [eax + 0x3c], edx
movsd qword [eax + 0x40], xmm0
movq xmm0, qword [0x52c408]
mov ebx, dword [esp + 0x118]
movq qword [eax + 0x48], xmm0
mov dword [eax + 0x54], esi
mov esi, dword [esp + 0x24]
mov dword [eax + 0x50], ebx
mov ebx, dword [esp + 0x34]
mov dword [eax + 0x5c], esi
mov esi, dword [esp + 0x114]
mov dword [eax + 0x58], ebx
mov dword [eax + 0x60], edx
mov dword [eax + 0x64], edi
mov dword [eax + 0x68], edx
mov dword [eax + 0x74], edx
mov byte [eax + 0x78], dl
mov edi, dword [esp + 0x10c]
mov dword [eax + 0x80], esi
mov esi, dword [esp + 0x110]
mov dword [eax + 0x84], edi
mov edi, dword [esp + 0x108]
mov dword [eax + 0x88], esi
mov esi, dword [esp + 0x18]
mov dword [eax + 0x8c], edi
mov dword [eax + 0x90], edx
mov dword [esp + 0x18], eax
mov dword [eax + 0x94], esi
mov dword [eax + 0x98], edx
mov dword [eax + 0x9c], edx
mov dword [eax + 0xa0], edx
lock inc dword [eax]
jle 0x44f54a
lea esi, [esp + 0xe0]
mov ecx, esi
call fcn.004b53c9
mov ecx, esi
mov edi, eax
mov ebx, edx
call fcn.004b53c9
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x44d000
lock inc dword [ecx]
jle 0x44f54a
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x194], esi
jmp 0x44d000
mov esi, dword [esp + 0xd8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], ecx
test esi, esi
mov dword [esp + 0x28], esi
je 0x44d034
lock inc dword [esi]
jle 0x44f54a
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x190], eax
jmp 0x44d034
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x11c], ebx
mov dword [esp + 0x50], edi
mov ecx, 0x40
mov edx, 4
mov esi, 4
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10c], eax
movzx eax, word [esp + 0x166]
mov word [esp + 0x80], ax
mov al, byte [esp + 0x103]
mov byte [esp + 0x118], al
mov al, byte [esp + 0x168]
mov byte [esp + 0x82], al
mov al, byte [esp + 0x104]
mov byte [esp + 0x114], al
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
je 0x44f560
lea ebx, [esp + 0x1018]
xor edi, edi
xor edx, edx
mov dword [ebx], 4
mov dword [ebx + 4], eax
mov dword [ebx + 8], 0
cmp edx, dword [esp + 0x1018]
jne 0x44d105
mov ecx, ebx
call fcn.004b9778
mov eax, dword [esp + 0x101c]
mov edx, dword [esp + 0x1020]
shl edx, 4
mov dword [eax + edx], edi
mov byte [eax + edx + 4], 0
mov dword [eax + edx + 8], edi
mov dword [eax + edx + 0xc], edi
mov edx, dword [esp + 0x1020]
inc edx
dec esi
mov dword [esp + 0x1020], edx
jne 0x44d0e7
mov eax, dword [esp + 0x101c]
cmp dword [esp + 0x1018], edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x108], edx
jbe 0x44d1b4
test edx, edx
je 0x44d1a0
mov esi, edx
shl esi, 4
push esi
push eax
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
test eax, eax
jne 0x44d1b4
jmp 0x44f70e
test edx, edx
je 0x44d17b
lea eax, [esp + 0x101c]
push eax
call fcn.00443117
add esp, 4
lea ecx, [esp + 0x90]
call fcn.0044f802
mov ecx, ebx
call fcn.00442d63
add ebx, 0x138
mov ecx, ebx
call fcn.00442e33
jmp 0x44f3c1
push eax
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x198], eax
mov esi, dword [0x5370ac]
mov edi, dword [0x5370a8]
mov ebx, edi
mov ecx, esi
mov eax, edi
mov edx, esi
add ebx, 1
adc ecx, 0
lock cmpxchg8b qword [0x5370a8]
mov edi, eax
mov esi, edx
jne 0x44d1c7
mov eax, edi
or eax, esi
je 0x44d1bb
mov ecx, dword [esp + 0x101b]
mov eax, dword [esp + 0x1018]
mov edx, 8
mov dword [esp + 0x3bb], ecx
mov dword [esp + 0x3b8], eax
movzx eax, word [esp + 0x1b8]
mov ecx, 0xe8
mov word [esp + 0x40], ax
mov al, byte [esp + 0x1ba]
mov byte [esp + 0x42], al
movzx eax, word [esp + 0x130]
mov word [esp + 0x150], ax
mov al, byte [esp + 0x132]
mov byte [esp + 0x152], al
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
je 0x44f62d
mov ecx, dword [esp + 0x198]
xor ebx, ebx
mov edx, eax
inc ebx
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x108]
mov dword [eax + 0xc], ecx
xor eax, eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], 3
mov dword [edx + 0x18], edi
mov dword [edx + 0x1c], esi
mov byte [edx + 0x20], al
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x3b8]
mov esi, dword [esp + 0x3bb]
mov dword [edx + 0x21], ecx
mov dword [edx + 0x24], esi
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], eax
mov byte [edx + 0x30], al
movzx ecx, word [esp + 0x40]
mov word [edx + 0x31], cx
mov cl, byte [esp + 0x42]
mov byte [edx + 0x33], cl
mov dword [edx + 0x34], eax
mov dword [edx + 0x38], eax
mov byte [edx + 0x3c], al
mov cl, byte [esp + 0x152]
mov byte [edx + 0x3f], cl
movzx ecx, word [esp + 0x150]
mov word [edx + 0x3d], cx
mov ecx, dword [esp + 0x1c]
mov dword [edx + 0x40], ecx
mov ecx, dword [esp + 0x110]
mov dword [edx + 0x44], edi
mov dword [edx + 0x48], ecx
mov ecx, dword [esp + 0x10c]
mov dword [edx + 0x4c], ecx
mov ecx, dword [esp + 0x34]
mov dword [edx + 0x50], ecx
mov ecx, dword [esp + 0x194]
mov dword [edx + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [edx + 0x58], ecx
mov ecx, dword [esp + 0x190]
mov dword [edx + 0x5c], ecx
mov dword [edx + 0x60], eax
mov byte [edx + 0x64], al
mov cl, byte [esp + 0x82]
mov byte [edx + 0x67], cl
movzx ecx, word [esp + 0x80]
mov word [edx + 0x65], cx
mov ecx, dword [esp + 0x50]
mov dword [edx + 0x68], ecx
mov ecx, dword [esp + 0x11c]
mov dword [edx + 0x6c], ecx
mov cl, byte [esp + 0x118]
mov byte [edx + 0x70], cl
mov cl, byte [esp + 0x114]
mov byte [edx + 0x71], cl
mov ecx, dword [esp + 0xc]
mov byte [edx + 0x74], al
mov dword [edx + 0x78], ecx
mov ecx, dword [esp]
mov dword [esp], edx
mov dword [edx + 0x7c], ecx
mov dword [edx + 0x84], eax
mov dword [edx + 0x80], eax
mov dword [edx + 0x89], eax
mov dword [edx + 0x85], eax
movzx ecx, word [esp + 0x6c]
mov word [edx + 0x8d], cx
mov cl, byte [esp + 0x6e]
mov byte [edx + 0x8f], cl
mov ecx, dword [esp + 0x12c]
mov dword [edx + 0x90], 0x10
mov dword [edx + 0x94], ecx
movsd xmm0, qword [esp + 0x1a0]
movsd xmm1, qword [esp + 0x1a5]
movsd qword [edx + 0x9d], xmm1
movsd qword [edx + 0x98], xmm0
movzx ecx, word [esp + 0x68]
mov word [edx + 0xa5], cx
mov cl, byte [esp + 0x6a]
mov byte [edx + 0xa7], cl
mov ecx, dword [esp + 8]
mov dword [edx + 0xa8], ecx
mov dword [edx + 0xac], ebx
mov dword [edx + 0xb0], eax
mov dword [edx + 0xb4], eax
mov byte [edx + 0xb8], al
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x8b]
mov dword [edx + 0xb9], ecx
mov ecx, dword [esp + 0x128]
mov dword [edx + 0xbc], esi
mov dword [edx + 0xc0], ecx
mov ecx, dword [esp + 0x124]
mov dword [edx + 0xc4], ecx
mov ecx, dword [esp + 0x120]
mov dword [edx + 0xc8], ecx
mov dword [edx + 0xd0], eax
mov byte [edx + 0xd4], al
mov ecx, pe_nt_image_headers32
mov al, byte [esp + 0x16b]
mov byte [edx + 0xd7], al
movzx eax, word [esp + 0x169]
mov word [edx + 0xd5], ax
mov eax, dword [esp + 0x24]
mov dword [edx + 0xd8], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 0xdc], eax
mov eax, dword [esp + 0x18]
mov dword [edx + 0xe0], eax
mov edx, 4
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
je 0x44f63c
mov esi, eax
mov al, byte [0x538038]
mov ecx, 0x3c
mov edx, 4
call fcn.004018b0
test eax, eax
je 0x44f64b
cmp dword [esp + 0x1c], 0
mov ecx, 0x1f
cmove edi, ecx
xor ebx, ebx
mov ecx, 0x400
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x10]
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0xc]
mov dword [eax + 0x14], 0x400
mov dword [eax + 0x18], ecx
mov byte [eax + 0x1c], bl
movzx ecx, word [esp + 0x64]
mov word [eax + 0x1d], cx
mov cl, byte [esp + 0x66]
mov byte [eax + 0x1f], cl
mov ecx, dword [esp + 0x19c]
mov dword [eax + 0x20], 0x40
mov dword [eax + 0x24], esi
mov dword [eax + 0x28], ebx
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], edi
mov byte [eax + 0x38], bl
mov dl, byte [esp + 0x101a]
mov dword [esp + 0x174], ecx
mov dword [esp + 0x178], eax
movzx eax, word [esp + 0x1018]
mov ecx, dword [esp]
mov dword [esp + 0x17c], ebx
mov byte [esp + 0x180], bl
mov byte [esp + 0x183], dl
mov byte [esp + 0x164], dl
mov word [esp + 0x181], ax
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], ebx
mov dword [esp + 0x18c], ebx
mov dword [esp + 0x16c], ecx
mov ecx, dword [esp + 0x18]
mov word [esp + 0x162], ax
mov dword [esp + 0x170], ecx
lea ecx, [esp + 0x90]
call fcn.0044f802
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x16c]
mov eax, dword [esi + 0x138]
mov edi, dword [esi + 0x13c]
mov dword [esp], eax
call fcn.004b8869
mov dword [esp + 0x80], eax
mov eax, 0x138
mov dword [esp + 0x84], edx
push eax
push esi
lea eax, [esp + 0x1020]
push eax
call fcn.004e4d00
add esp, 0xc
mov eax, dword [esp]
movq xmm0, qword [esp + 0x1a0]
movsd xmm1, qword [esp + 0x1a8]
xor ecx, ecx
mov dword [esp + 0x1150], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1154], edi
movq qword [esp + 0x1158], xmm0
movsd qword [esp + 0x1160], xmm1
mov dword [esp + 0x1168], eax
movzx eax, word [esp + 0x2c]
mov byte [esp + 0x116c], bl
mov word [esp + 0x116d], ax
mov al, byte [esp + 0x2e]
mov byte [esp + 0x116f], al
call fcn.004b92a6
test eax, eax
je 0x44f6dd
cmp byte [eax + 0x36], 2
mov esi, eax
jne 0x44f65a
mov byte [esi + 0x36], 0
mov ecx, 0xd0
add ecx, dword [esp + 0x16c]
call fcn.004b53c9
cmp dword [esi + 0x28], 0
mov ebx, eax
je 0x44d69e
mov eax, dword [esi + 0x2c]
mov edi, dword [esi + 0x30]
jmp 0x44d6ad
mov dword [esp + 4], edx
call fcn.004b45a3
mov edi, edx
mov edx, dword [esp + 4]
mov dword [esp], eax
mov dword [esi + 0x28], 1
mov dword [esi + 0x2c], ebx
lea eax, [esp + 0x178]
mov dword [esi + 0x30], edx
mov ecx, 0x138
mov edx, dword [eax - 0xc]
add dword [esp + 0x14], ecx
mov ecx, esi
call fcn.004b7792
mov ecx, dword [esp]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
mov dword [esp + 0x15c], edi
xor ecx, ecx
lea edx, [esp + 0x3c0]
xchg dword [esp + 0x178], ecx
test ecx, ecx
jne 0x44dd0f
xor esi, esi
lea ecx, [esp + 0x17c]
mov dword [esp + 0x130], esi
mov eax, dword [esp + 0x18c]
mov dword [esp + 0x3b8], ecx
shr eax, 2
mov dword [esp + 0x3bc], eax
mov al, byte [esp + 0x3e]
mov dword [esp + 0x3c0], esi
mov dword [esp + 0x3c4], esi
mov dword [esp + 0x3c8], esi
mov dword [esp + 0x3d0], esi
mov byte [esp + 0x3d4], 0
mov byte [edx + 0x17], al
movzx eax, word [esp + 0x3c]
mov word [edx + 0x15], ax
call fcn.004b75a4
test eax, eax
je 0x44f504
lea ecx, [esp + 0x90]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x88], ecx
xor ecx, ecx
call fcn.004b92a6
test eax, eax
je 0x44d7b4
mov cl, byte [eax + 0x34]
mov dl, byte [eax + 0x35]
mov word [eax + 0x34], 0x8001
mov byte [esp + 0xc], cl
mov byte [esp + 0x18], dl
jmp 0x44d7b9
mov byte [esp + 0xc], 2
mov eax, dword [esp + 0x88]
mov esi, dword [esp + 0x3b8]
mov dword [esp + 8], eax
movzx eax, byte [esp + 0x3d4]
test eax, eax
jne 0x44d8ae
mov ecx, dword [esi + 0x10]
and ecx, 0xfffffffc
lea eax, [ecx + 2]
lock cmpxchg dword [esi + 0x10], ecx
jne 0x44d7f5
mov byte [esp + 0x3d4], 2
jmp 0x44d7cb
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
push dword [ecx + 4]
call dword [eax]
add esp, 4
mov edi, edx
lea ecx, [esp + 0x1b8]
mov edx, esi
mov dword [esp], eax
call fcn.00413448
mov al, byte [esp + 0x1c0]
mov ecx, dword [esp + 0x1bc]
mov byte [esp + 4], al
mov edx, dword [esi + 0x10]
mov eax, edx
shr eax, 2
cmp eax, dword [esp + 0x3bc]
jne 0x44d88c
mov eax, edx
and eax, 3
je 0x44d866
cmp eax, 2
jne 0x44d9bb
and edx, 0xfffffffc
lea eax, [edx + 2]
lock cmpxchg dword [esi + 0x10], edx
je 0x44d88c
mov edx, eax
and eax, 3
mov dword [esp + 0x40], eax
je 0x44d839
jmp 0x44f44d
and edx, 0xfffffffc
lea ebx, [edx + 1]
mov eax, edx
lock cmpxchg dword [esi + 0x10], ebx
je 0x44d9c4
mov edx, eax
and eax, 3
cmp eax, 2
mov dword [esp + 0x40], eax
je 0x44d839
jmp 0x44f468
movzx edx, byte [esp + 4]
mov byte [esp + 0x3d4], 2
call fcn.00422a70
push edi
mov eax, dword [esp + 4]
call dword [eax + 0xc]
add esp, 4
jmp 0x44d7cb
cmp eax, 1
jne 0x44daf7
lea edi, [esp + 0x3d0]
mov edx, 2
mov ecx, edi
call fcn.004b8ac8
cmp eax, 2
jne 0x44da84
lea ecx, [esp + 0x1b8]
mov edx, esi
call fcn.00413448
mov al, byte [esp + 0x1c0]
mov ebx, dword [esp + 0x1bc]
mov ecx, edi
xor edx, edx
mov byte [esp], al
call fcn.004b8ac8
cmp eax, 2
jne 0x44dab5
mov eax, dword [esi + 0x10]
mov edi, dword [esp + 0x3c8]
shr eax, 2
cmp eax, dword [esp + 0x3bc]
je 0x44dafe
mov eax, dword [esp + 0x3c0]
mov ecx, dword [esp + 0x3cc]
lea edx, [esp + 0x3c0]
mov dword [esp + 0x3c8], 0
test eax, eax
mov dword [esp + 4], ecx
je 0x44d976
mov ecx, dword [esp + 0x3c4]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x3c4]
test eax, eax
je 0x44d987
mov ecx, dword [esp + 0x3c0]
mov dword [eax], ecx
xor eax, eax
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3c0], eax
jmp 0x44d98c
cmp dword [ebx + 8], edx
jne 0x44d98c
mov eax, dword [esp + 0x3c4]
mov dword [ebx + 8], eax
jmp 0x44d957
cmp dword [ebx + 0xc], edx
je 0x44d9b6
movzx edx, byte [esp]
mov ecx, ebx
mov byte [esp + 0x3d4], 2
call fcn.00422a70
test edi, edi
je 0x44d7cb
push dword [esp + 4]
call dword [edi + 0xc]
add esp, 4
jmp 0x44d7cb
lea eax, [ebx + 0xc]
jmp 0x44d95b
cmp eax, 1
jne 0x44f439
mov eax, dword [esp]
lea edx, [esp + 0x3c0]
mov esi, dword [esp + 0x3c8]
mov ebx, dword [esp + 0x3cc]
mov dword [esp + 0x40], edx
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3cc], edi
mov eax, dword [ecx + 8]
cmp eax, edx
je 0x44f48e
test eax, eax
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x3c0], 0
je 0x44da11
mov dword [eax], edx
mov dword [ecx + 8], edx
cmp dword [ecx + 0xc], 0
jne 0x44da1d
mov dword [ecx + 0xc], edx
movzx edx, byte [esp + 4]
mov byte [esp + 0x3d4], 1
call fcn.00422a70
test esi, esi
je 0x44da3a
push ebx
call dword [esi + 0xc]
add esp, 4
lea ecx, [esp + 0x1018]
lea edx, [esp + 0x88]
call fcn.00471b9c
mov ebx, eax
inc bl
cmp byte [esp + 0xc], 2
je 0x44da71
xor ecx, ecx
call fcn.004b92a6
test eax, eax
je 0x44da71
mov cl, byte [esp + 0xc]
mov dl, byte [esp + 0x18]
mov byte [eax + 0x34], cl
mov byte [eax + 0x35], dl
cmp bl, 2
jne 0x44db82
call fcn.004b767e
jmp 0x44d793
mov eax, dword [esp + 0x3c8]
mov ecx, dword [esp + 0x3cc]
mov dword [esp + 0x3c8], 0
test eax, eax
je 0x44daa8
push ecx
call dword [eax + 0xc]
add esp, 4
mov dword [esp + 0x3d0], 0
jmp 0x44daef
mov esi, dword [esp + 0x3c8]
mov edi, dword [esp + 0x3cc]
mov dword [esp + 0x3c8], 0
mov dword [esp + 0x3d0], 0
mov ecx, ebx
movzx edx, byte [esp]
call fcn.00422a70
test esi, esi
je 0x44daef
push edi
call dword [esi + 0xc]
add esp, 4
mov byte [esp + 0x3d4], 2
xor ebx, ebx
jmp 0x44da51
test edi, edi
je 0x44db1a
mov edx, dword [esp + 8]
mov ecx, dword [esp + 0x3cc]
mov eax, dword [edx]
mov edx, dword [edx + 4]
cmp ecx, edx
je 0x44db25
mov ecx, edx
jmp 0x44db43
mov ecx, dword [esp + 8]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x44db43
mov edx, dword [edi]
cmp edx, dword [eax]
jne 0x44db43
mov edx, dword [edi + 4]
cmp edx, dword [eax + 4]
jne 0x44db43
mov edx, dword [edi + 8]
cmp edx, dword [eax + 8]
jne 0x44db43
mov edx, dword [edi + 0xc]
cmp edx, dword [eax + 0xc]
je 0x44db72
push ecx
call dword [eax]
add esp, 4
mov edi, dword [esp + 0x3cc]
mov esi, dword [esp + 0x3c8]
mov dword [esp + 0x3c8], eax
mov dword [esp + 0x3cc], edx
movzx edx, byte [esp]
mov ecx, ebx
mov ebx, edi
jmp 0x44da2a
movzx edx, byte [esp]
mov ecx, ebx
call fcn.00422a70
jmp 0x44da3a
mov eax, dword [esp + 0x90]
push dword [esp + 0x94]
call dword [eax + 0xc]
add esp, 4
cmp byte [esp + 0x3d4], 1
jne 0x44dcc5
mov esi, dword [esp + 0x3b8]
lea ecx, [esp + 0x1b8]
mov edx, esi
call fcn.00413448
mov al, byte [esp + 0x1c0]
mov edi, dword [esp + 0x1bc]
lea ecx, [esp + 0x3d0]
xor edx, edx
mov byte [esp + 4], al
mov eax, dword [esi + 0x10]
mov dword [esp + 8], eax
call fcn.004b8ac8
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x3c0]
lea ecx, [edi + 8]
mov dword [esp], edi
test edx, edx
je 0x44dc25
mov edi, dword [esp + 0x3c4]
mov dword [edx + 4], edi
mov edx, dword [esp + 0x3c4]
test edx, edx
je 0x44dc3b
mov edi, dword [esp + 0x3c0]
mov dword [edx], edi
xor edx, edx
mov dword [esp + 0x3c4], edx
mov dword [esp + 0x3c0], edx
jmp 0x44dc4e
lea edx, [esp + 0x3c0]
cmp dword [ecx], edx
jne 0x44dc4e
mov edx, dword [esp + 0x3c4]
mov dword [ecx], edx
jmp 0x44dc06
mov edi, dword [esp]
lea edx, [esp + 0x3c0]
cmp dword [edi + 0xc], edx
je 0x44dd04
mov edx, dword [esp]
mov edx, dword [edx + 8]
test edx, edx
jne 0x44dc65
mov edi, dword [esp]
cmp dword [edi + 0xc], 0
jne 0x44f54c
add esi, 0x10
test edx, edx
jne 0x44dc83
mov edi, dword [esp + 8]
mov edx, edi
and edx, 3
cmp edx, 1
jne 0x44dc87
and edi, 0xfffffffc
mov edx, edi
xchg dword [esi], edx
jmp 0x44dc87
mov edi, dword [esp + 8]
test eax, eax
je 0x44dc9a
movzx edx, byte [esp + 4]
mov ecx, dword [esp]
call fcn.00422a70
jmp 0x44dcc5
mov edx, esi
push dword [esp + 0xc]
push edi
call fcn.004b81d3
add esp, 8
test eax, eax
je 0x44dc8b
mov edi, edx
movzx edx, byte [esp + 4]
mov ecx, dword [esp]
mov esi, eax
call fcn.00422a70
push edi
call dword [esi + 4]
add esp, 4
test bl, bl
jne 0x44e3e0
mov eax, dword [esp + 0x3c8]
test eax, eax
je 0x44dce5
push dword [esp + 0x3cc]
call dword [eax + 0xc]
add esp, 4
cmp dword [esp + 0x130], 0
je 0x44d6f6
lea ecx, [esp + 0x130]
call fcn.00457b7c
jmp 0x44d6f6
mov edx, dword [esp]
add edx, 0xc
jmp 0x44dc0a
mov eax, dword [esp + 0x16c]
lock inc dword [eax]
jle 0x44f54a
mov dword [esp + 0x130], eax
xor eax, eax
lea edx, [esp + 0x178]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], 4
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], edx
movsd xmm1, qword [esp + 0x138]
movq xmm0, qword [esp + 0x130]
movsd xmm2, qword [esp + 0x140]
movsd qword [esp + 0x98], xmm1
movsd xmm1, qword [esp + 0x148]
movq qword [esp + 0x90], xmm0
movsd qword [esp + 0xa0], xmm2
movsd qword [esp + 0xa8], xmm1
cmp dword [esp + 0x94], eax
jne 0x44f687
mov ebx, dword [esp + 0x98]
lea eax, [esp + 0x90]
mov dword [esp + 0x98], 0
test ebx, ebx
je 0x44f691
lea ecx, [esp + 0x1018]
mov dword [esp + 0x40], eax
mov dword [esp + 0x94], 0
mov esi, eax
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], eax
call fcn.004b92a6
test eax, eax
je 0x44f6d4
mov edi, eax
lea eax, [esp + 0x98]
lea edx, [esp + 0x3c]
mov ecx, dword [edi + 0x24]
mov dword [edi + 0x24], esi
lea esi, [esp + 0x88]
mov eax, dword [eax - 8]
mov dword [esp + 8], ecx
lea ecx, [eax + 8]
mov byte [eax + 0x74], 1
mov dword [esp + 0x88], 0x52cc18
mov dword [edx], esi
mov dword [esp], edi
mov dword [esp + 0x8c], ecx
xor ecx, ecx
xchg byte [eax + 0x74], cl
test cl, cl
je 0x44df3e
cmp dword [esp + 0x94], 0
jne 0x44f522
mov dword [esp + 0x94], 0xffffffff
cmp dword [esp + 0x98], 0
je 0x44de92
lea ecx, [esp + 0x98]
call fcn.0044f86a
mov eax, dword [esp + 0x94]
inc eax
jmp 0x44de94
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], eax
call fcn.004b92a6
test eax, eax
je 0x44dee8
mov cl, byte [eax + 0x34]
mov bh, byte [eax + 0x35]
lea edx, [esp + 0x3c]
mov word [eax + 0x34], 0x8001
mov byte [esp + 4], cl
lea ecx, [esp + 0x1018]
call fcn.00471b9c
xor ecx, ecx
mov bl, al
call fcn.004b92a6
test eax, eax
je 0x44dee4
mov cl, byte [esp + 4]
mov byte [eax + 0x34], cl
mov byte [eax + 0x35], bh
mov eax, ebx
jmp 0x44def8
lea ecx, [esp + 0x1018]
lea edx, [esp + 0x3c]
call fcn.00471b9c
cmp dword [esp + 0x94], 0
jne 0x44f52c
mov dword [esp + 0x94], 0xffffffff
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x98], 0
test ebx, ebx
je 0x44f536
test al, al
mov dword [esp + 0x94], 0
je 0x44f3c9
mov eax, dword [esp + 0x90]
mov edi, dword [eax + 0x48]
test edi, edi
je 0x44e0a3
cmp byte [ebx + 0x38], 0
jne 0x44e415
mov eax, dword [ebx + 0x30]
mov esi, dword [ebx + 0x34]
inc eax
test esi, esi
mov dword [ebx + 0x30], eax
je 0x44f425
mov ecx, dword [esp + 0x90]
xor edx, edx
div esi
test edx, edx
je 0x44df95
mov eax, dword [ebx + 0x2c]
test eax, eax
jne 0x44dfae
add ecx, 0x28
call fcn.004b9b8c
mov esi, eax
test eax, eax
jne 0x44dfd4
jmp 0x44e0c9
add ecx, 0x28
call fcn.004b9b8c
mov esi, eax
test eax, eax
jne 0x44dfd4
mov eax, dword [ebx + 0x2c]
test eax, eax
je 0x44e0c9
mov ecx, dword [ebx + 0x28]
mov edx, dword [ebx + 0x20]
lea esi, [ecx + 1]
cmp esi, edx
mov esi, 0
cmovb edx, esi
dec eax
neg edx
lea edx, [ecx + edx + 1]
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x2c], eax
mov eax, dword [ebx + 0x24]
mov esi, dword [eax + ecx*4]
cmp dword [esp + 0x94], 0
jne 0x44f522
mov dword [esp + 0x94], 0xffffffff
cmp dword [esp + 0x98], 0
je 0x44e00d
lea ecx, [esp + 0x98]
call fcn.0044f86a
mov eax, dword [esp + 0x94]
inc eax
jmp 0x44e00f
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], eax
call fcn.004b92a6
test eax, eax
je 0x44e036
mov bl, byte [eax + 0x34]
mov bh, byte [eax + 0x35]
mov word [eax + 0x34], 0x8001
jmp 0x44e038
mov bl, 2
mov eax, dword [esi + 8]
push esi
call dword [eax]
add esp, 4
cmp bl, 2
je 0x44e057
xor ecx, ecx
call fcn.004b92a6
test eax, eax
je 0x44e057
mov byte [eax + 0x34], bl
mov byte [eax + 0x35], bh
cmp dword [esp + 0x94], 0
jne 0x44f52c
mov dword [esp + 0x94], 0xffffffff
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x98], 0
test ebx, ebx
je 0x44f536
dec edi
mov dword [esp + 0x94], 0
jne 0x44df50
mov eax, dword [esp + 0x90]
add eax, 8
lea ecx, [esp + 0x90]
mov edx, ebx
push eax
call fcn.004b7d80
add esp, 4
mov edi, dword [esp]
mov ebx, eax
mov eax, dword [esp + 0x90]
jmp 0x44de4c
cmp dword [esp + 0x9c], 0x7fffffff
jae 0x44f75c
cmp dword [esp + 0xa8], 0
mov esi, dword [esp + 0x90]
mov edi, dword [esp]
lea ecx, [esp + 0x90]
je 0x44e105
add esi, 8
mov edx, ebx
push esi
call fcn.004b7d80
add esp, 4
jmp 0x44e0bb
mov eax, dword [ebx]
mov dword [ebx], 2
cmp eax, 2
je 0x44f766
mov dword [esp + 0x1b8], eax
lea ecx, [esp + 0x1bc]
mov eax, dword [ebx + 0x1c]
mov dword [ecx + 0x18], eax
movsd xmm0, qword [ebx + 0x14]
movsd qword [ecx + 0x10], xmm0
movq xmm0, qword [ebx + 4]
movsd xmm1, qword [ebx + 0xc]
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
mov eax, dword [esi + 0x50]
test eax, eax
je 0x44e1eb
cmp dword [esp + 0x94], 0
jne 0x44f522
mov dword [esp + 0x94], 0xffffffff
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x44e188
call fcn.004b5ab1
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x50]
inc ecx
jmp 0x44e18a
xor ecx, ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], ecx
mov ecx, dword [esi + 0x54]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
push eax
call dword [ecx + 0x14]
add esp, 4
cmp dword [esp + 0x94], 0
jne 0x44f52c
mov dword [esp + 0x94], 0xffffffff
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x98], 0
test ebx, ebx
je 0x44f536
mov dword [esp + 0x94], 0
cmp dword [ebx + 0x2c], 0
jne 0x44e2b1
cmp dword [esp + 0x94], 0
jne 0x44f522
mov dword [esp + 0x94], 0xffffffff
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x44e228
call fcn.004b5ab1
mov eax, dword [esp + 0x94]
inc eax
jmp 0x44e22a
xor eax, eax
cmp dword [esp + 0x1b8], 0
lea edx, [esi + 0x78]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], eax
je 0x44e253
lea ecx, [esp + 0x1bc]
call fcn.004b7aea
jmp 0x44e267
lea ecx, [esp + 0x1bc]
push 0x3b9aca00
call fcn.004b77f8
add esp, 4
lea ecx, [esp + 0x9c]
call fcn.004b7b2f
cmp dword [esp + 0x94], 0
jne 0x44f52c
mov dword [esp + 0x94], 0xffffffff
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x98], 0
test ebx, ebx
je 0x44f536
mov dword [esp + 0x94], 0
mov eax, dword [esi + 0x58]
test eax, eax
je 0x44e355
cmp dword [esp + 0x94], 0
jne 0x44f522
mov dword [esp + 0x94], 0xffffffff
mov ecx, dword [esp + 0x98]
test ecx, ecx
je 0x44e2f2
call fcn.004b5ab1
mov ecx, dword [esp + 0x94]
mov eax, dword [esi + 0x58]
inc ecx
jmp 0x44e2f4
xor ecx, ecx
mov dword [esp + 0x98], ebx
mov dword [esp + 0x94], ecx
mov ecx, dword [esi + 0x5c]
mov edx, dword [ecx + 8]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
push eax
call dword [ecx + 0x14]
add esp, 4
cmp dword [esp + 0x94], 0
jne 0x44f52c
mov dword [esp + 0x94], 0xffffffff
mov ebx, dword [esp + 0x98]
mov dword [esp + 0x98], 0
test ebx, ebx
je 0x44f536
mov dword [esp + 0x94], 0
movsd xmm1, qword [esp + 0x1c8]
movsd xmm0, qword [esp + 0x1d0]
movsd xmm2, qword [esp + 0x1b8]
mov ecx, ebx
movsd qword [esp + 0x3c8], xmm1
movsd xmm1, qword [esp + 0x1c0]
movsd qword [esp + 0x3d0], xmm0
movsd qword [esp + 0x3b8], xmm2
movsd qword [esp + 0x3c0], xmm1
call fcn.004b6412
movsd xmm0, qword [esp + 0x3d0]
movsd qword [ebx + 0x18], xmm0
movsd xmm0, qword [esp + 0x3c8]
movsd qword [ebx + 0x10], xmm0
movq xmm0, qword [esp + 0x3b8]
movsd xmm1, qword [esp + 0x3c0]
movsd qword [ebx + 8], xmm1
movq qword [ebx], xmm0
jmp 0x44e0bd
mov eax, dword [esp + 0x3c8]
mov ebx, 1
test eax, eax
je 0x44e3fd
push dword [esp + 0x3cc]
call dword [eax + 0xc]
add esp, 4
cmp dword [esp + 0x130], 0
je 0x44e47f
lea ecx, [esp + 0x130]
call fcn.00457b7c
jmp 0x44e47f
mov eax, dword [esp]
mov ecx, dword [esp + 8]
cmp dword [esp + 0x94], 0
mov dword [eax + 0x24], ecx
mov al, 1
jne 0x44f6a5
mov dword [esp + 0x94], 0xffffffff
mov esi, eax
cmp dword [esp + 0x98], 0
je 0x44e45c
lea ecx, [esp + 0x98]
call fcn.0044f86a
mov eax, dword [esp + 0x94]
inc eax
jmp 0x44e45e
xor eax, eax
lea ecx, [esp + 0x90]
mov dword [ecx + 8], ebx
mov dword [ecx + 4], eax
call fcn.00457b7c
mov eax, esi
mov ebx, 1
test al, al
jne 0x44f6f5
xor ecx, ecx
call fcn.004b92a6
test eax, eax
je 0x44f721
cmp byte [eax + 0x36], 2
mov esi, eax
je 0x44f673
mov byte [esi + 0x36], 2
cmp dword [esi + 0x28], 0
jne 0x44e4a9
call fcn.004b45a3
lea edi, [esp + 0x150]
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0xc]
mov dword [esi + 0x28], 1
mov dword [esi + 0x2c], eax
mov dword [esi + 0x30], ecx
mov ecx, edi
mov edx, dword [edi + 4]
call fcn.004b59ec
mov eax, dword [edi]
test eax, eax
je 0x44e4e4
lock dec dword [eax]
jne 0x44e4e4
lea ecx, [esp + 0x150]
call fcn.004b546b
movzx eax, byte [esp + 0x116c]
cmp eax, 3
je 0x44e518
test eax, eax
jne 0x44e53a
lea ecx, [esp + 0x1018]
call fcn.00442d63
lea ecx, [esp + 0x1154]
call fcn.00442d40
mov ecx, dword [esp + 0x14]
call fcn.00442e33
jmp 0x44e53a
lea esi, [esp + 0x115c]
mov ecx, esi
call fcn.00442e33
mov eax, dword [esi - 4]
lock dec dword [eax]
jne 0x44e53a
lea ecx, [esp + 0x1158]
call fcn.0044fc70
lea esi, [esp + 0x80]
mov edx, dword [esi + 4]
mov ecx, esi
call fcn.004b59ec
mov eax, dword [esi]
test eax, eax
je 0x44e562
lock dec dword [eax]
jne 0x44e562
lea ecx, [esp + 0x80]
call fcn.004b546b
lea edi, [esp + 0x1018]
lea esi, [esp + 0x16c]
mov ecx, 9
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
xor esi, esi
call fcn.004b92a6
test eax, eax
mov ecx, 0
je 0x44e5a7
mov edx, dword [esp + 0x1018]
mov ecx, eax
call fcn.004b7792
mov ecx, ebx
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], edx
mov dword [esp + 0x90], ecx
xchg dword [esp + 0x1024], esi
test esi, esi
je 0x44eca9
mov edi, dword [esp + 0x1018]
lock inc dword [edi]
jle 0x44f54a
xor ecx, ecx
mov dword [esp + 0x1b8], edi
lea eax, [esp + 0x1024]
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], esi
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], 4
mov dword [esp + 0x1d0], ecx
xor ecx, ecx
mov dword [esp + 0x1d4], eax
call fcn.004b92a6
test eax, eax
je 0x44e718
cmp dword [eax + 0x18], 0x7fffffff
jae 0x44f6af
cmp dword [eax + 0x1c], 0
je 0x44e718
movq xmm0, qword [esp + 0x1b8]
movsd xmm1, qword [esp + 0x1c0]
movsd xmm3, qword [esp + 0x1d0]
movsd xmm2, qword [esp + 0x1c8]
movq qword [esp + 0x3b8], xmm0
movsd qword [esp + 0x3d0], xmm3
movsd qword [esp + 0x3c8], xmm2
movsd qword [esp + 0x3c0], xmm1
cmp dword [esp + 0x3bc], 0
jne 0x44f687
mov esi, dword [esp + 0x3c0]
mov dword [esp + 0x3c0], 0
test esi, esi
je 0x44f691
xor ecx, ecx
mov dword [esp + 0x3bc], 0
call fcn.004b92a6
test eax, eax
je 0x44f71a
mov edi, eax
mov ebx, dword [eax + 0x24]
lea eax, [esp + 0x3b8]
mov ecx, esi
mov dword [edi + 0x24], eax
mov edx, dword [esp + 0x1018]
add edx, 8
call fcn.004b5aeb
mov dword [edi + 0x24], ebx
cmp dword [esp + 0x3bc], 0
jne 0x44f6a5
mov dword [esp + 0x3bc], 0xffffffff
mov ecx, dword [esp + 0x3c0]
test ecx, ecx
je 0x44e737
call fcn.004b5ab1
mov eax, dword [esp + 0x3bc]
inc eax
jmp 0x44e739
add edi, 8
mov ecx, esi
mov edx, edi
call fcn.004b5aeb
lea ecx, [esp + 0x1b8]
mov dword [ecx + 8], esi
mov dword [ecx + 4], 0
jmp 0x44e746
xor eax, eax
lea ecx, [esp + 0x3b8]
mov dword [ecx + 8], esi
mov dword [ecx + 4], eax
call fcn.004b80b3
cmp dword [esp + 0x90], 0
je 0x44e778
lea esi, [esp + 0x94]
mov edx, dword [esi + 4]
mov ecx, esi
call fcn.004b59ec
mov eax, dword [esi]
test eax, eax
je 0x44e778
lock dec dword [eax]
jne 0x44e778
mov ecx, esi
call fcn.004b546b
xor ecx, ecx
xchg dword [esp + 0x1024], ecx
test ecx, ecx
je 0x44e78a
call fcn.004b5ab1
mov eax, dword [esp + 0x1018]
lock dec dword [eax]
jne 0x44e7a2
lea ecx, [esp + 0x1018]
call fcn.004b546b
mov edi, dword [esp + 0x101c]
lea esi, [edi + 0x28]
push esi
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockExclusive]
mov eax, dword [0x538034]
test eax, 0x7fffffff
jne 0x44ecdb
xor eax, eax
mov cl, byte [edi + 0x2c]
cmp byte [edi + 0x78], 0
je 0x44e7dd
movzx edx, al
mov ecx, esi
call fcn.00422a70
jmp 0x44f34e
mov byte [edi + 0x78], 1
mov dword [esp], eax
mov eax, dword [edi + 0x64]
test eax, eax
je 0x44e7f8
lock dec dword [eax]
jne 0x44e7f8
lea ecx, [edi + 0x64]
call fcn.004b55bd
xor ebx, ebx
mov eax, 0x90
mov dword [edi + 0x64], ebx
add eax, dword [esp + 0x101c]
push eax
call dword [sym.imp.KERNEL32.dll_WakeAllConditionVariable]
mov eax, dword [edi + 0x70]
mov dword [esp + 0x48], eax
movsd xmm0, qword [edi + 0x68]
movsd qword [esp + 0x40], xmm0
mov dword [edi + 0x68], ebx
call fcn.004b3780
test eax, eax
je 0x44f5a1
mov ebx, dword [eax]
mov edx, dword [eax + 4]
movq xmm0, qword [eax + 8]
movsd xmm3, qword [0x52c408]
mov ecx, ebx
add ecx, 1
mov dword [eax], ecx
mov ecx, edx
adc ecx, 0
mov dword [eax + 4], ecx
mov ecx, esi
movsd xmm1, qword [edi + 0x58]
movsd qword [esp + 0xa8], xmm1
movsd xmm1, qword [edi + 0x50]
movsd qword [esp + 0xa0], xmm1
movsd xmm2, qword [edi + 0x48]
movsd xmm1, qword [edi + 0x40]
movsd qword [esp + 0x98], xmm2
movsd xmm2, qword [0x52c400]
movsd qword [esp + 0x90], xmm1
movsd qword [edi + 0x48], xmm3
movsd qword [edi + 0x40], xmm2
mov dword [edi + 0x54], edx
movzx edx, byte [esp]
mov dword [edi + 0x50], ebx
movq qword [edi + 0x58], xmm0
call fcn.00422a70
xor ecx, ecx
call fcn.004b92a6
test eax, eax
je 0x44e8c8
cmp byte [eax + 0x36], 2
jne 0x44f3e3
call fcn.004b75a4
test eax, eax
je 0x44e960
lea esi, [esp + 0x1020]
lea edi, [esp + 0x1b8]
lea ecx, [esp + 0x3b8]
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x3bc], edx
mov dword [edi], ecx
xor ecx, ecx
call fcn.004b92a6
test eax, eax
je 0x44e935
mov cl, byte [eax + 0x35]
mov bh, byte [eax + 0x34]
mov edx, edi
mov word [eax + 0x34], 0x8001
mov byte [esp], cl
mov ecx, esi
call fcn.004b41c6
xor ecx, ecx
mov bl, al
call fcn.004b92a6
test eax, eax
je 0x44e940
mov cl, byte [esp]
mov byte [eax + 0x34], bh
mov byte [eax + 0x35], cl
jmp 0x44e940
mov ecx, esi
mov edx, edi
call fcn.004b41c6
mov ebx, eax
cmp bl, 2
jne 0x44e94c
call fcn.004b767e
jmp 0x44e8fa
mov eax, dword [esp + 0x3b8]
push dword [esp + 0x3bc]
call dword [eax + 0xc]
add esp, 4
cmp dword [esp + 0x40], 0
je 0x44e99c
lea ecx, [esp + 0x40]
call fcn.004b58a5
test eax, eax
je 0x44e99c
mov esi, eax
mov edi, edx
push eax
call dword [edx]
add esp, 4
cmp dword [edi + 4], 0
je 0x44e99c
cmp dword [edi + 8], 9
jb 0x44e98d
mov esi, dword [esi - 4]
push esi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x90]
mov esi, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
movdqa xmm0, xmmword [eax]
test esi, esi
je 0x44e9ec
lea edx, [esi + 1]
mov dword [esp], 0
cmp edx, 0xfffffff
ja 0x44e9e3
mov ebx, edx
add esi, 0x11
shl ebx, 4
add esi, ebx
jb 0x44e9e3
cmp esi, 0x7ffffff1
jb 0x44f3d7
mov edi, eax
sub edi, ebx
mov ebx, dword [esp]
jmp 0x44e9f1
xor ebx, ebx
xor edx, edx
inc edx
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1c0], edi
add edx, eax
lea esi, [eax + 0x10]
pmovmskb edi, xmm0
mov dword [esp + 0x1c4], eax
test ecx, ecx
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1cc], edx
mov edx, edi
not edx
mov word [esp + 0x1d0], dx
mov dword [esp + 0x1d4], ecx
je 0x44ec98
cmp di, 0xffff
jne 0x44ea6d
movdqa xmm0, xmmword [esi]
add eax, 0xffffff00
add esi, 0x10
pmovmskb edx, xmm0
cmp edx, 0xffff
je 0x44ea45
not edx
mov dword [esp + 0x1c8], esi
mov dword [esp + 0x1c4], eax
lea esi, [edx - 1]
dec ecx
and esi, edx
bsf edx, edx
shl edx, 4
mov word [esp + 0x1d0], si
mov dword [esp + 0x1d4], ecx
sub eax, edx
mov edi, dword [eax - 0xc]
test edi, edi
je 0x44ec98
xor edx, edx
mov ebx, 4
dec edx
inc ecx
cmove ecx, edx
cmp ecx, 5
cmovae ebx, ecx
cmp ebx, 0x7ffffff
ja 0x44f73e
mov esi, ebx
shl esi, 4
js 0x44f73e
mov ecx, dword [eax - 4]
mov edx, 4
mov dword [esp], ecx
mov ecx, dword [eax - 0x10]
mov eax, dword [eax - 8]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov ecx, esi
mov al, byte [0x538038]
call fcn.004018b0
test eax, eax
je 0x44f70e
mov ecx, dword [esp + 8]
xor edx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], 0
inc edx
mov dword [esp + 0x10], edx
mov dword [eax], ecx
mov ecx, dword [esp + 4]
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
mov ecx, dword [esp]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0x130]
movsd xmm1, qword [esp + 0x1c0]
movq xmm0, qword [esp + 0x1d0]
movsd xmm2, qword [esp + 0x1b8]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov dword [ecx + 8], 1
movsd qword [esp + 0x3c0], xmm1
movsd xmm1, qword [esp + 0x1c8]
movq qword [esp + 0x3d0], xmm0
movsd qword [esp + 0x3b8], xmm2
movsd qword [esp + 0x3c8], xmm1
mov ebx, dword [esp + 0x3d4]
movzx ecx, word [esp + 0x3d0]
mov edi, dword [esp + 0x3c4]
mov esi, dword [esp + 0x3c8]
test ebx, ebx
je 0x44ece7
test cx, cx
je 0x44ebb0
lea edx, [ecx - 1]
dec ebx
and edx, ecx
test edi, edi
mov word [esp + 0x3d0], dx
jne 0x44ebe7
jmp 0x44ece9
movdqa xmm0, xmmword [esi]
add edi, 0xffffff00
add esi, 0x10
pmovmskb ecx, xmm0
cmp ecx, 0xffff
je 0x44ebb0
not ecx
mov dword [esp + 0x3c8], esi
mov dword [esp + 0x3c4], edi
dec ebx
lea edx, [ecx - 1]
and edx, ecx
mov word [esp + 0x3d0], dx
bsf eax, ecx
mov ecx, edi
mov dword [esp + 4], edx
shl eax, 4
sub ecx, eax
mov eax, dword [ecx - 0xc]
test eax, eax
mov dword [esp + 8], eax
je 0x44ece9
mov dword [esp], ebx
mov ebx, dword [ecx - 0x10]
mov dword [esp + 0x1c], ebx
mov ebx, dword [ecx - 4]
mov ecx, dword [ecx - 8]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
cmp ebx, dword [esp + 0x130]
je 0x44ec6d
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, ebx
inc ebx
dec dword [esp + 0x28]
shl ecx, 4
mov dword [esp + 0x10], ebx
mov dword [eax + ecx], edx
mov edx, dword [esp + 8]
mov dword [eax + ecx + 4], edx
mov edx, dword [esp + 0x18]
mov dword [eax + ecx + 0xc], edx
mov edx, dword [esp + 0xc]
mov dword [eax + ecx + 8], edx
mov dword [esp + 0x138], ebx
mov ebx, dword [esp]
mov ecx, dword [esp + 4]
jmp 0x44eb8c
mov eax, dword [esp]
mov ecx, 0xffffffff
mov edx, ebx
inc eax
cmove eax, ecx
lea ecx, [esp + 0x130]
push eax
call fcn.004ed26e
add esp, 4
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x14], ecx
jmp 0x44ec29
lea ecx, [esp + 0x1b8]
call fcn.004b39f0
jmp 0x44f34e
mov eax, dword [0x538034]
test eax, 0x7fffffff
je 0x44ecc2
call fcn.004ec710
test al, al
je 0x44e74b
lea ecx, [esp + 0x3b8]
mov edx, 0x52ba5c
xor eax, eax
mov dword [ecx], 0x52b9d8
jmp 0x44f4cf
call fcn.004ec710
xor al, 1
jmp 0x44e7c5
xor ebx, ebx
lea ecx, [esp + 0x3b8]
mov dword [ecx + 0x1c], ebx
call fcn.004b39f0
mov eax, dword [esp + 0x134]
mov esi, dword [esp + 0x130]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x50], esi
cmp eax, 0x15
jae 0x44ed40
cmp eax, 1
mov esi, eax
jbe 0x44f2a0
mov edi, esi
mov esi, dword [esp + 0x24]
mov edx, edi
mov ecx, esi
push 1
call fcn.004b94f4
add esp, 4
shl edi, 4
add edi, esi
jmp 0x44f2b1
mov dword [esp + 0x10], eax
lea ecx, [eax*8]
mov edx, 4
mov al, byte [0x538038]
and ecx, 0x7ffffff0
call fcn.004018b0
test eax, eax
mov dword [esp + 8], eax
je 0x44f77a
mov al, byte [0x538038]
mov ecx, 0x80
mov edx, 4
call fcn.004018b0
test eax, eax
je 0x44f78e
mov ebx, eax
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
xor edi, edi
mov dword [esp + 0x34], 0x10
lea ecx, [eax + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x38], eax
xor eax, eax
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x14], edi
mov edi, eax
mov eax, esi
sub eax, edi
mov dword [esp], edi
shl edi, 4
cmp eax, 2
lea edx, [edx + edi]
mov dword [esp + 4], edx
jae 0x44ee24
mov edx, esi
mov ecx, esi
mov edi, dword [esp + 0x14]
mov edx, dword [esp]
mov esi, ecx
sub esi, edx
jb 0x44f56f
cmp ecx, dword [esp + 0x10]
ja 0x44f56f
jae 0x44ee52
cmp eax, 0xa
jae 0x44ee52
mov ecx, dword [esp + 0x10]
lea esi, [edx + 0xa]
cmp esi, ecx
cmovae esi, ecx
mov dword [esp + 0x54], esi
sub esi, edx
jb 0x44f5be
mov ecx, dword [esp + 4]
cmp eax, 1
mov edx, esi
adc eax, 0
push eax
call fcn.004b94f4
add esp, 4
mov edx, dword [esp]
jmp 0x44ee56
mov ecx, dword [edx]
mov esi, dword [edx + 0x10]
cmp esi, ecx
jae 0x44f154
mov edx, dword [esp]
cmp eax, 2
jne 0x44f16d
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
lea ecx, [edx + 2]
mov eax, 2
jmp 0x44f1f3
mov dword [esp + 0x54], ecx
mov eax, dword [esp + 0x34]
cmp edi, eax
jne 0x44eeb9
mov dword [esp + 0xc], ebx
mov ecx, eax
mov edi, eax
mov edx, 4
mov al, byte [0x538038]
shl ecx, 4
call fcn.004018b0
test eax, eax
je 0x44f5cf
mov ebx, eax
lea eax, [edi + edi]
shl edi, 3
mov dword [esp + 4], eax
push edi
mov edi, dword [esp + 0x10]
push edi
push ebx
call fcn.004e4d00
add esp, 0xc
push edi
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 4]
mov edi, dword [esp + 0x14]
mov edx, dword [esp]
mov dword [esp + 0x34], eax
mov dword [ebx + edi*8], esi
mov esi, dword [esp + 0x10]
mov dword [ebx + edi*8 + 4], edx
inc edi
mov dword [esp + 0xc], ebx
cmp edi, 2
jb 0x44f143
mov eax, dword [ebx + edi*8 - 8]
mov ecx, dword [ebx + edi*8 - 4]
add ecx, eax
cmp ecx, esi
je 0x44ef21
mov edx, dword [ebx + edi*8 - 0x10]
cmp edx, eax
jbe 0x44ef21
cmp edi, 2
jbe 0x44f143
lea ecx, [edi - 3]
lea esi, [edx + eax]
mov dword [esp + 0x18], ecx
mov ecx, dword [ebx + edi*8 - 0x18]
cmp ecx, esi
jbe 0x44ef33
mov esi, dword [esp + 0x10]
cmp edi, 3
jbe 0x44f143
add edx, ecx
cmp dword [ebx + edi*8 - 0x20], edx
mov ebx, dword [esp + 0x18]
jbe 0x44ef3b
jmp 0x44f276
cmp edi, 3
jb 0x44ef3f
mov ecx, dword [esp + 0xc]
lea ebx, [edi - 3]
mov ecx, dword [ecx + edi*8 - 0x18]
jmp 0x44ef3b
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x18]
cmp ecx, eax
jb 0x44ef42
lea ebx, [edi - 2]
cmp edi, ebx
jbe 0x44f4ad
lea eax, [ebx + 1]
mov ecx, edi
mov dword [esp + 0x14], edi
cmp edi, eax
jbe 0x44f4bb
mov edx, dword [esp + 0xc]
mov edi, esi
mov eax, dword [edx + ebx*8 + 8]
mov esi, dword [edx + ebx*8 + 0xc]
mov ecx, dword [edx + ebx*8 + 4]
add esi, eax
mov edx, esi
sub edx, ecx
mov dword [esp + 0x1c], edx
jb 0x44f4e8
cmp esi, edi
ja 0x44f4f4
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x12c], ecx
shl ecx, 4
mov dword [esp + 0x18], ebx
shl esi, 4
add ecx, dword [esp + 0x24]
mov dword [esp], esi
lea eax, [eax + ebx*8]
mov edi, dword [eax]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], ecx
mov ebx, edi
sub eax, edi
mov dword [esp + 0x120], edi
shl ebx, 4
cmp eax, edi
lea esi, [ecx + ebx]
jae 0x44f05f
mov ebx, eax
mov dword [esp + 0x1c], eax
shl ebx, 4
push ebx
push esi
push dword [esp + 0x10]
call fcn.004e4d00
add esp, 0xc
add ebx, dword [esp + 8]
test edi, edi
jle 0x44f057
cmp dword [esp + 0x1c], 0
jle 0x44f057
mov ecx, dword [esp]
add ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov ecx, dword [ebx - 0x10]
mov edx, dword [esi - 0x10]
mov edi, esi
mov esi, 0
mov eax, ebx
mov ebx, 0
cmp ecx, edx
sbb esi, esi
cmp ecx, edx
adc ebx, 0xffffffff
shl esi, 4
shl ebx, 4
add esi, edi
add ebx, eax
cmp ecx, edx
mov ecx, dword [esp]
mov eax, ebx
cmovb eax, esi
cmp esi, dword [esp + 4]
movq xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
movsd qword [ecx + 8], xmm1
movq qword [ecx], xmm0
jbe 0x44f057
add ecx, 0xfffffff0
cmp ebx, dword [esp + 8]
ja 0x44f002
mov eax, dword [esp + 8]
mov ecx, esi
jmp 0x44f0dc
push ebx
push ecx
push dword [esp + 0x10]
call fcn.004e4d00
add esp, 0xc
add ebx, dword [esp + 8]
test edi, edi
jle 0x44f0d4
cmp dword [esp + 0x1c], edi
jle 0x44f0d4
mov ecx, dword [esp]
mov eax, dword [esp + 8]
add ecx, dword [esp + 0x24]
mov dword [esp], ecx
mov edx, dword [esi]
mov edi, eax
xor eax, eax
xor ecx, ecx
cmp edx, dword [edi]
mov edx, edi
cmovb edx, esi
setae al
movq xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
setb dl
shl eax, 4
add eax, edi
mov edi, dword [esp + 4]
movsd qword [edi + 8], xmm1
movq qword [edi], xmm0
add edi, 0x10
cmp eax, ebx
mov dword [esp + 4], edi
jae 0x44f0d8
mov cl, dl
mov edx, dword [esp]
shl ecx, 4
add esi, ecx
cmp esi, edx
jb 0x44f089
jmp 0x44f0d8
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edi, dword [esp + 0x14]
sub ebx, eax
lea esi, [edi - 1]
push ebx
push eax
push ecx
call fcn.004e4d00
add esp, 0xc
mov eax, dword [esp + 0x128]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x124]
add eax, dword [esp + 0x120]
mov dword [ebx + ecx*8 + 8], eax
mov eax, dword [esp + 0x12c]
mov dword [ebx + ecx*8 + 0xc], eax
not ecx
lea eax, [edx + 8]
add ecx, edi
shl ecx, 3
push ecx
push eax
push edx
call fcn.004e5280
add esp, 0xc
cmp esi, 1
mov edi, esi
mov esi, dword [esp + 0x10]
ja 0x44eed2
xor edi, edi
inc edi
mov eax, dword [esp + 0x54]
cmp eax, esi
jb 0x44edac
jmp 0x44f27f
mov edx, dword [esp]
cmp eax, 2
jne 0x44f19f
mov edi, dword [esp + 0x14]
lea ecx, [edx + 2]
mov eax, 2
jmp 0x44edd7
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x28]
add edi, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
add edx, ebx
mov ebx, 2
mov ecx, esi
mov esi, dword [edi]
cmp esi, ecx
jae 0x44f1d1
lea ecx, [edx + ebx + 1]
inc ebx
add edi, 0x10
cmp ecx, 1
jne 0x44f188
jmp 0x44f1cf
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x28]
add edi, dword [esp + 0x30]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], esi
add edx, ebx
mov ebx, 2
mov ecx, esi
mov esi, dword [edi]
cmp esi, ecx
jb 0x44f1d1
lea ecx, [edx + ebx + 1]
inc ebx
add edi, 0x10
cmp ecx, 1
jne 0x44f1ba
mov ebx, eax
mov edx, dword [esp]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
cmp eax, dword [esp + 0x18]
lea ecx, [ebx + edx]
mov eax, ebx
mov ebx, dword [esp + 0xc]
jae 0x44edd7
cmp edx, ecx
ja 0x44f6b9
cmp ecx, esi
ja 0x44f6c8
cmp eax, 2
jb 0x44edd4
mov esi, dword [esp]
mov edi, dword [esp + 4]
mov edx, eax
shr edx, 1
add esi, eax
shl esi, 4
add esi, dword [esp + 0x38]
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
movsd qword [esp + 0x3c0], xmm1
movsd qword [esp + 0x3b8], xmm0
movsd xmm0, qword [esi]
movsd xmm1, qword [esi + 8]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x10
movq xmm0, qword [esp + 0x3b8]
movsd xmm1, qword [esp + 0x3c0]
movsd qword [esi + 8], xmm1
movq qword [esi], xmm0
add esi, 0xfffffff0
dec edx
jne 0x44f220
jmp 0x44edd0
mov ebx, dword [esp + 0xc]
jmp 0x44f143
xor eax, eax
push ebx
push eax
xor ebx, ebx
push dword [0x537fc8]
mov edi, dword [sym.imp.KERNEL32.dll_HeapFree]
call edi
push dword [esp + 8]
push ebx
push dword [0x537fc8]
call edi
mov edi, esi
mov eax, esi
mov esi, dword [esp + 0x24]
shl edi, 4
add edi, esi
test eax, eax
je 0x44f321
mov esi, dword [esp + 0x24]
mov dword [esp], edi
mov eax, dword [esi + 4]
test eax, eax
je 0x44f31e
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x3bc], ecx
lea ecx, [esp + 0x3b8]
mov dword [esp + 0x3c0], edx
call fcn.004b58a5
test eax, eax
je 0x44f312
mov ebx, eax
mov edi, edx
push eax
call dword [edx]
add esp, 4
cmp dword [edi + 4], 0
je 0x44f312
cmp dword [edi + 8], 9
jb 0x44f303
mov ebx, dword [ebx - 4]
push ebx
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [esp]
add esi, 0x10
cmp esi, edi
jne 0x44f2b8
jmp 0x44f335
add esi, 0x10
sub edi, esi
je 0x44f335
shr edi, 4
mov ecx, esi
call fcn.004b3a48
add esi, 0x10
dec edi
jne 0x44f328
cmp dword [esp + 0x50], 0
je 0x44f34e
push dword [esp + 0x24]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov eax, dword [esp + 0x101c]
lock dec dword [eax]
jne 0x44f366
lea ecx, [esp + 0x101c]
call fcn.004b566e
mov ecx, dword [esp + 0x1020]
test ecx, ecx
je 0x44f3c1
mov ebx, dword [ecx + 0x18]
mov edx, ebx
mov eax, ebx
or edx, 4
lock cmpxchg dword [ecx + 0x18], edx
mov ebx, eax
jne 0x44f374
mov eax, ebx
and eax, 0xa
cmp eax, 8
jne 0x44f39a
mov eax, dword [ecx + 8]
push dword [ecx + 0xc]
call dword [eax + 8]
add esp, 4
mov eax, dword [esp + 0x1020]
test bl, 2
jne 0x44f3ac
test eax, eax
jne 0x44f3b0
jmp 0x44f3c1
mov byte [eax + 0x1c], 0
lock dec dword [eax]
jne 0x44f3c1
mov ecx, dword [esp + 0x1020]
call fcn.004b5628
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 8]
mov dword [edi + 0x24], eax
xor eax, eax
jmp 0x44e42f
mov dword [esp], 0x10
jmp 0x44e9e3
mov eax, dword [0x538034]
test eax, 0x7fffffff
je 0x44f743
call fcn.004ec710
test al, al
jne 0x44f743
lea ecx, [esp + 0x90]
call fcn.004b44c0
cmp dword [esp + 0x40], 0
je 0x44f34e
lea ecx, [esp + 0x40]
call fcn.00451c9d
jmp 0x44f34e
mov ecx, str.attempt_to_calculate_the_remainder_with_a_divisor_of_zerodriver_missing
mov edx, 0x39
push 0x52baac
call fcn.004e8ca0
mov ecx, 0x52c09b
mov edx, 0x28
push 0x52c1e0
call fcn.004e8ca0
lea ecx, [esp + 0x40]
mov edx, 0x52b13c
mov dword [esp + 0x1b8], 0
push 0x52c1d0
jmp 0x44f481
lea ecx, [esp + 0x40]
mov edx, 0x52c1bc
mov dword [esp + 0x1b8], 0
push 0x52c1c0
lea eax, [esp + 0x1bc]
push eax
call fcn.004ecce6
lea eax, [esp + 0x1b8]
add ecx, 8
mov dword [esp + 0x1b8], 0
lea edx, [esp + 0x40]
push eax
call fcn.004ecd95
lea ecx, [esp + 0x3b8]
mov edx, 0x52c470
jmp 0x44f4c7
lea ecx, [esp + 0x3b8]
mov edx, 0x52c480
xor eax, eax
mov dword [ecx], str.Index_out_of_bounds
mov dword [ecx + 4], 1
mov dword [ecx + 0x10], eax
mov dword [ecx + 8], str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs
mov dword [ecx + 0xc], eax
call fcn.004e8b50
mov edx, esi
push 0x52c490
call fcn.004e8e30
mov edx, dword [esp + 0x10]
mov ecx, esi
push 0x52c490
call fcn.004e8c40
lea eax, [esp + 0x20]
mov ecx, 0x5229a0
mov edx, 0x1b
push 0x5229bc
push 0x522190
push eax
call fcn.004e8f30
mov ecx, 0x52bb28
call fcn.004e8e90
mov ecx, 0x52bb38
call fcn.004e8e90
mov ecx, str.core_missing
mov edx, 0xc
push 0x52bb54
call fcn.004e8fb0
ud2
mov ecx, 0x52b40c
mov edx, 0x25
push 0x52b434
call fcn.004e8ca0
mov ecx, 4
mov edx, 0x40
call fcn.004e8800
mov ecx, str.assertion_failed:_end___start__end___len
mov edx, 0x2c
push 0x52c4fc
call fcn.004e8ca0
mov ecx, 4
mov edx, 0xc
call fcn.004e8800
mov ecx, 4
mov edx, 8
call fcn.004e8800
lea eax, [esp + 0x20]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_threadlocal.rs
mov edx, 0x46
push 0x52c3d4
push 0x52c56c
jmp 0x44f51c
mov ecx, dword [esp]
mov edx, dword [esp + 0x54]
push 0x52c50c
call fcn.004e8e30
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x52c4c0
call fcn.004e8ca0
mov ecx, 4
jmp 0x44f5ef
mov ecx, 8
mov edx, 0x4000
call fcn.004e8800
mov ecx, 8
jmp 0x44f614
mov ecx, 8
mov edx, 0xc60
call fcn.004e8800
mov ecx, 4
mov edx, 0x20
call fcn.004e8800
mov ecx, 8
mov edx, 0xa8
call fcn.004e8800
mov ecx, 8
mov edx, 0xe8
call fcn.004e8800
mov ecx, 4
mov edx, pe_nt_image_headers32
call fcn.004e8800
mov ecx, 4
mov edx, 0x3c
call fcn.004e8800
lea ecx, [esp + 0x3b8]
mov edx, 0x5231e0
xor eax, eax
mov dword [ecx], str.Cannot_start_a_runtime_from_within_a_runtime._This_happens_because_a_function__like__block_on___attempted_to_block_the_current_thread_while_the_thread_is_being_used_to_drive_asynchronous_tasks.
jmp 0x44f4cf
mov ecx, str.assertion_failed:_c.runtime.get__.is_entered__C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001f_tokio_1.38.0_src_runtimecontext_runtime.rs
mov edx, 0x2e
push 0x52b8b8
call fcn.004e8ca0
mov ecx, 0x52bb74
call fcn.004e8e90
mov ecx, str.core_missing
mov edx, 0xc
push 0x52bb84
call fcn.004e8fb0
mov ecx, 0x52bb94
call fcn.004e8e90
mov ecx, 0x52b700
call fcn.004e8ee0
mov edx, ecx
mov ecx, dword [esp]
push 0x52c460
call fcn.004e8e30
mov edx, esi
push 0x52c460
call fcn.004e8c40
lea ecx, [esp + 0x48]
call fcn.0044f86a
lea eax, [esp + 0x20]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_threadlocal.rs
mov edx, 0x46
push 0x52c3d4
jmp 0x44f517
lea ecx, [esp + 0x3b8]
mov edx, 0x522990
xor eax, eax
mov dword [ecx], str.a_spawned_task_panicked_and_the_runtime_is_configured_to_shut_down_on_unhandled_panic
jmp 0x44f4cf
mov ecx, 4
mov edx, esi
call fcn.004e8800
mov ecx, esi
call fcn.004b5ab1
lea eax, [esp + 0x20]
mov ecx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_07dca489ac2d933c78d3c5158e3f43beefeb02celibrary_std_src_threadlocal.rs
mov edx, 0x46
push 0x52c3d4
push 0x52b240
jmp 0x44f51c
call fcn.004019f0
lea ecx, [esp + 0x3b8]
mov edx, 0x52bf7c
xor eax, eax
mov dword [ecx], 0x52bf74
jmp 0x44f4cf
mov ecx, 0x52bc24
call fcn.004e8ee0
mov ecx, 0x52baf9
mov edx, 0xe
push 0x52bb08
call fcn.004e8fb0
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x52c4a0
call fcn.004e8ca0
mov ecx, str.called__Option::unwrap____on_a__None__value
mov edx, 0x2b
push 0x52c4b0
call fcn.004e8ca0