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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x178]
cmp eax, dword [ecx + 8]
jbe 0x5f15dc
sub esp, 0x1f8
mov byte [esp + 0x210], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0
mov byte [esp + 0x21c], 0
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0
mov dword [esp + 0x228], 0
mov dword [esp + 0x22c], 0
mov eax, dword [esp + 0x200]
mov dword [esp], eax
mov ecx, dword [esp + 0x204]
mov dword [esp + 4], ecx
call fcn.00407430
mov eax, dword [esp + 8]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x208]
mov dword [esp], ecx
mov edx, dword [esp + 0x20c]
mov dword [esp + 4], edx
call fcn.00407430
mov eax, dword [esp + 8]
mov dword [esp + 0x160], eax
lea edi, [esp + 0x1c0]
xor eax, eax
call fcn.0044d18a
lea ecx, [0x640d20]
mov dword [esp + 0x1c0], ecx
lea edx, [0x6e1fd0]
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ecx
mov edx, dword [esp + 0x164]
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d0], ecx
mov edx, dword [esp + 0x160]
mov dword [esp + 0x1d4], edx
mov edx, dword [0x894488]
mov dword [esp], edx
lea edx, [esp + 0x1c0]
mov dword [esp + 4], edx
mov dword [esp + 8], 3
mov dword [esp + 0xc], 3
call fcn.004a6fa0
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
mov ecx, dword [esp + 0x200]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x204]
mov dword [esp + 8], edx
call fcn.005e95b0
mov dword [esp], 0xc
lea eax, [0x69c3a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x1fc]
mov dword [esp + 8], eax
lea ecx, [esp + 0x210]
mov dword [esp + 0xc], ecx
lea ecx, [esp + 0x214]
mov dword [esp + 0x10], ecx
call fcn.004273f0
test eax, eax
jne 0x5f159e
movzx eax, byte [0x8650a3]
test al, al
jne 0x5f14c0
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
mov ecx, dword [esp + 0x208]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x20c]
mov dword [esp + 8], edx
call fcn.005e9260
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
movzx ecx, byte [0x8a5e3a]
mov byte [esp + 4], cl
mov ecx, dword [esp + 0x208]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x20c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x200]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x204]
mov dword [esp + 0x14], ecx
call fcn.005e9960
mov eax, dword [esp + 0x24]
mov dword [esp + 0x148], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x78], edx
mov dword [esp], 8
lea ebx, [0x69c3ac]
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.004273f0
test eax, eax
jne 0x5f14b3
mov eax, dword [esp + 0x74]
test eax, eax
je 0x5efca3
movzx eax, byte [0x8650a3]
test al, al
jne 0x5efc45
mov byte [esp + 0x210], 0
lea eax, [0x68a0d2]
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], 0x15
mov byte [esp + 0x21c], 0
lea eax, [0x6870ed]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 0xe
lea eax, [0x6848fe]
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], 6
nop
call fcn.00427bc0
add esp, 0x1f8
ret
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
lea eax, [0x640d20]
mov dword [esp + 0x170], eax
lea eax, [0x6e1fe8]
mov dword [esp + 0x174], eax
mov eax, dword [0x894484]
mov dword [esp], eax
lea eax, [esp + 0x170]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004a6fa0
jmp 0x5efbe0
mov eax, dword [0x894ff0]
mov ecx, dword [0x894ff4]
test ecx, ecx
jbe 0x5f15d5
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004ca910
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004cac20
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp], 0
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
lea eax, [0x68538b]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 9
call fcn.0043c120
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x13c], ecx
mov byte [esp + 0x210], 0
lea edx, [0x6849ca]
mov dword [esp + 0x214], edx
mov dword [esp + 0x218], 6
lea edx, [0x640f20]
mov dword [esp], edx
mov dword [esp + 4], 0xa000
mov dword [esp + 8], 0xa000
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x1fc]
mov dword [esp], ecx
lea edx, [0x684468]
mov dword [esp + 4], edx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 0xf424
call fcn.005e9650
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x1fc]
mov dword [esp], ecx
lea edx, [0x684ca4]
mov dword [esp + 4], edx
mov dword [esp + 8], 7
mov dword [esp + 0xc], 1
call fcn.005e9650
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x1fc]
mov dword [esp], ecx
lea edx, [0x6856d0]
mov dword [esp + 4], edx
mov dword [esp + 8], 9
mov dword [esp + 0xc], 0x10
call fcn.005e9650
mov eax, dword [esp + 0x10]
mov dword [esp + 0x44], eax
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
lea ecx, [0x640d20]
mov dword [esp + 0x170], ecx
lea edx, [0x6e1ff0]
mov dword [esp + 0x174], edx
mov edx, dword [0x894488]
mov dword [esp], edx
lea edx, [esp + 0x170]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004a6fa0
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
lea eax, [0x640d20]
mov dword [esp + 0x168], eax
lea ecx, [0x6e1ff8]
mov dword [esp + 0x16c], ecx
mov dword [esp], 0x10
lea ecx, [0x69c1c4]
mov dword [esp + 4], ecx
mov ecx, dword [0x894488]
mov dword [esp + 8], ecx
lea ecx, [esp + 0x168]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call fcn.004273f0
test eax, eax
jne 0x5f14a6
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call fcn.00407430
mov eax, dword [esp + 8]
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0
lea ecx, [0x640d20]
mov dword [esp + 0x170], ecx
mov dword [esp + 0x174], eax
mov eax, dword [0x894488]
mov dword [esp], eax
lea eax, [esp + 0x170]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call fcn.004a6fa0
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call fcn.0049ad10
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
test eax, eax
jne 0x5f1461
mov eax, dword [edx + 0x20]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x68], ecx
nop
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call fcn.004985f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
test eax, eax
jne 0x5f141c
mov dword [esp + 0x140], ecx
mov dword [esp], 0xc
lea eax, [0x69c3c0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004273f0
test eax, eax
jne 0x5f140f
call fcn.0048d1a0
lea edi, [esp + 0x1ac]
mov esi, esp
call fcn.0044d66e
lea eax, [esp + 0x14]
mov dword [esp + 0x15c], eax
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5f0019
mov edi, dword [esp + 0xa4]
inc edi
mov ebx, dword [esp + 0x98]
mov ebp, eax
mov esi, edx
mov edx, ecx
mov ecx, edi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0x140]
mov dword [esp], eax
mov edi, dword [esp + 0x164]
mov dword [esp + 4], edi
mov dword [esp + 8], 0xa000
mov dword [esp + 0xc], 0xa000
call fcn.00497d80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
test ecx, ecx
jne 0x5f12b1
test eax, eax
jle 0x5f12b1
mov dword [esp + 0x40], eax
nop
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0
mov dword [esp + 0x178], 0
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], pe_nt_image_headers32
call fcn.00438de0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], pe_nt_image_headers32
nop
mov dword [esp + 0xd4], 0
mov byte [esp + 0xd4], 0
mov byte [esp + 0xd7], 1
mov eax, dword [esp + 0x180]
lea ecx, [eax + 4]
mov edx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x184]
cmp ecx, ebx
ja 0x5f126a
mov ebp, dword [esp + 0xd4]
mov dword [edx + eax], ebp
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x17c], edx
nop
nop
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd0], 0xe6860100
mov eax, dword [esp + 0x180]
lea ecx, [eax + 4]
mov edx, dword [esp + 0x184]
mov ebx, dword [esp + 0x17c]
cmp ecx, edx
ja 0x5f1223
mov ebp, dword [esp + 0xd0]
mov dword [ebx + eax], ebp
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
mov dword [esp + 0x17c], ebx
nop
nop
mov dword [esp + 0xcc], 0
mov byte [esp + 0xcc], 0
mov byte [esp + 0xcf], 2
mov eax, dword [esp + 0x180]
lea ecx, [eax + 4]
mov edx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x184]
cmp ecx, ebx
ja 0x5f11dc
mov ebp, dword [esp + 0xcc]
mov dword [edx + eax], ebp
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x17c], edx
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
call fcn.005e91d0
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005f1c20
nop
mov eax, dword [esp + 8]
mov dword [esp + 0xc8], 0
mov ecx, eax
shr eax, 0x18
mov byte [esp + 0xc8], al
mov eax, ecx
shr ecx, 0x10
mov byte [esp + 0xc9], cl
mov ecx, eax
shr eax, 8
mov byte [esp + 0xca], al
mov byte [esp + 0xcb], cl
mov eax, dword [esp + 0x180]
lea ecx, [eax + 4]
mov edx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x184]
cmp ecx, ebx
ja 0x5f1195
mov ebp, dword [esp + 0xc8]
mov dword [edx + eax], ebp
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x17c], edx
nop
nop
mov dword [esp + 0xc4], 0
mov byte [esp + 0xc4], 0
mov eax, dword [esp + 0x180]
lea ecx, [eax + 4]
mov edx, dword [esp + 0x17c]
mov ebx, dword [esp + 0x184]
cmp ecx, ebx
ja 0x5f114e
mov ebp, dword [esp + 0xc4]
mov dword [edx + eax], ebp
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x17c], edx
nop
lea eax, [esp + 0x118]
mov dword [esp], eax
lea eax, [0x685278]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.0043c3f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x150], ecx
nop
mov word [esp + 0x36], 0
mov edx, eax
shr ax, 8
mov byte [esp + 0x36], al
mov byte [esp + 0x37], dl
mov eax, dword [esp + 0x180]
mov dword [esp + 0xa0], eax
lea ebx, [eax + 2]
mov ebp, dword [esp + 0x17c]
mov esi, dword [esp + 0x184]
cmp ebx, esi
ja 0x5f1103
movzx edi, word [esp + 0x36]
mov word [ebp + eax], di
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], esi
mov dword [esp + 0x17c], ebp
lea edi, [edx + eax + 2]
mov dword [esp + 0x9c], edi
cmp edi, esi
ja 0x5f10c6
mov dword [esp + 0xa0], esi
mov dword [esp + 0x158], ebp
lea eax, [ebp + eax + 2]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0044d890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x17c], eax
nop
mov dword [esp + 0xc0], 0
mov byte [esp + 0xc0], 0
mov byte [esp + 0xc3], 1
mov eax, dword [esp + 0x180]
lea ecx, [eax + 4]
mov edx, dword [esp + 0x184]
mov ebx, dword [esp + 0x17c]
cmp ecx, edx
ja 0x5f107f
mov ebp, dword [esp + 0xc0]
mov dword [ebx + eax], ebp
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
mov dword [esp + 0x17c], ebx
nop
mov dword [esp + 0xbc], 0
mov eax, dword [esp + 0x68]
mov ecx, eax
shr eax, 0x18
mov byte [esp + 0xbc], al
mov eax, ecx
shr ecx, 0x10
mov byte [esp + 0xbd], cl
mov ecx, eax
shr eax, 8
mov byte [esp + 0xbe], al
mov byte [esp + 0xbf], cl
mov eax, dword [esp + 0x180]
lea edx, [eax + 4]
mov ebx, dword [esp + 0x184]
mov ebp, dword [esp + 0x17c]
cmp edx, ebx
ja 0x5f1038
mov ecx, dword [esp + 0xbc]
mov dword [ebp + eax], ecx
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x17c], ebp
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call fcn.005de900
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
lea edx, [esp + 0xf8]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.0043c3f0
mov eax, dword [esp + 0x10]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x14c], ecx
nop
mov word [esp + 0x34], 0
mov edx, eax
shr ax, 8
mov byte [esp + 0x34], al
mov byte [esp + 0x35], dl
mov eax, dword [esp + 0x180]
mov dword [esp + 0xa0], eax
lea ebx, [eax + 2]
mov ebp, dword [esp + 0x17c]
mov esi, dword [esp + 0x184]
cmp ebx, esi
ja 0x5f0fea
movzx edi, word [esp + 0x34]
mov word [ebp + eax], di
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], esi
mov dword [esp + 0x17c], ebp
lea edi, [eax + edx + 2]
mov dword [esp + 0x9c], edi
cmp edi, esi
ja 0x5f0faa
mov dword [esp + 0x158], ebp
mov dword [esp + 0xa0], esi
lea eax, [ebp + eax + 2]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0044d890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x17c], eax
nop
mov dword [esp + 0xb8], 0
mov eax, dword [esp + 0xa4]
mov ecx, eax
shr eax, 0x18
mov byte [esp + 0xb8], al
mov eax, ecx
shr ecx, 0x10
mov byte [esp + 0xb9], cl
mov ecx, eax
shr eax, 8
mov byte [esp + 0xba], al
mov byte [esp + 0xbb], cl
mov eax, dword [esp + 0x180]
lea edx, [eax + 4]
mov ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x184]
cmp edx, ebp
ja 0x5f0f5c
mov esi, dword [esp + 0xb8]
mov dword [ebx + eax], esi
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], ebp
mov dword [esp + 0x17c], ebx
nop
mov dword [esp + 0xb4], 0
mov byte [esp + 0xb4], 0
mov eax, dword [esp + 0x180]
lea edx, [eax + 4]
mov ebx, dword [esp + 0x17c]
mov ebp, dword [esp + 0x184]
cmp edx, ebp
ja 0x5f0f15
mov ecx, dword [esp + 0xb4]
mov dword [ebx + eax], ecx
mov dword [esp + 0x180], edx
mov dword [esp + 0x184], ebp
mov dword [esp + 0x17c], ebx
nop
lea eax, [esp + 0xd8]
mov dword [esp], eax
lea eax, [0x684009]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.0043c3f0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x154], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x84], ecx
nop
mov word [esp + 0x32], 0
mov edx, ecx
shr cx, 8
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], dl
mov ecx, dword [esp + 0x180]
mov dword [esp + 0xa0], ecx
lea ebx, [ecx + 2]
mov ebp, dword [esp + 0x17c]
mov esi, dword [esp + 0x184]
cmp ebx, esi
ja 0x5f0ec7
movzx edi, word [esp + 0x32]
mov word [ebp + ecx], di
mov dword [esp + 0x180], ebx
mov dword [esp + 0x184], esi
mov dword [esp + 0x17c], ebp
lea edi, [edx + ecx + 2]
mov dword [esp + 0x9c], edi
cmp edi, esi
ja 0x5f0e87
mov dword [esp + 0x158], ebp
mov dword [esp + 0xa0], esi
lea ecx, [ebp + ecx + 2]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call fcn.0044d890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x17c], eax
nop
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 0x40]
mov ecx, eax
shr eax, 0x18
mov byte [esp + 0xb0], al
mov edx, ecx
shr ecx, 0x10
mov dword [esp + 0x98], ecx
mov byte [esp + 0xb1], cl
mov ebx, edx
shr edx, 8
mov dword [esp + 0x94], edx
mov byte [esp + 0xb2], dl
mov byte [esp + 0xb3], bl
mov ebp, dword [esp + 0x180]
lea esi, [ebp + 4]
mov edi, dword [esp + 0x17c]
mov edx, dword [esp + 0x184]
cmp esi, edx
ja 0x5f0e27
mov ecx, dword [esp + 0xb0]
mov dword [edi + ebp], ecx
mov dword [esp + 0x180], esi
mov dword [esp + 0x184], edx
mov dword [esp + 0x17c], edi
cmp ebx, 0xa000
ja 0x5f15ce
nop
nop
mov dword [esp + 0xac], 0
mov byte [esp + 0xac], al
mov eax, dword [esp + 0x98]
mov byte [esp + 0xad], al
mov eax, dword [esp + 0x94]
mov byte [esp + 0xae], al
mov byte [esp + 0xaf], bl
mov eax, dword [esp + 0x180]
mov dword [esp + 0xa0], eax
lea ecx, [eax + 4]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x17c]
cmp ecx, edx
ja 0x5f0de3
mov esi, dword [esp + 0xac]
mov dword [ebp + eax], esi
mov dword [esp + 0x180], ecx
mov dword [esp + 0x184], edx
mov dword [esp + 0x17c], ebp
lea esi, [eax + ebx + 4]
mov dword [esp + 0x9c], esi
lea edi, [eax + ebx]
mov dword [esp + 0x90], edi
cmp esi, edx
ja 0x5f0dad
mov dword [esp + 0x158], ebp
mov dword [esp + 0xa0], edx
lea eax, [eax + ebp + 4]
mov dword [esp], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call fcn.0044d890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x184], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x17c], eax
nop
nop
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0x90]
mov ecx, eax
shr eax, 0x18
mov byte [esp + 0xa8], al
mov edx, ecx
shr ecx, 0x10
mov byte [esp + 0xa9], cl
mov ecx, edx
shr edx, 8
mov byte [esp + 0xaa], dl
mov byte [esp + 0xab], cl
mov ecx, dword [esp + 0x17c]
mov edx, dword [esp + 0x180]
test edx, edx
jbe 0x5f15c7
mov byte [ecx], al
mov eax, dword [esp + 0x17c]
movzx ecx, byte [esp + 0xa9]
cmp dword [esp + 0x180], 1
jbe 0x5f15c0
mov byte [eax + 1], cl
mov eax, dword [esp + 0x17c]
movzx ecx, byte [esp + 0xaa]
cmp dword [esp + 0x180], 2
jbe 0x5f15b9
mov byte [eax + 2], cl
mov eax, dword [esp + 0x17c]
movzx ecx, byte [esp + 0xab]
cmp dword [esp + 0x180], 3
jbe 0x5f15b2
mov byte [eax + 3], cl
nop
mov eax, dword [esp + 0x180]
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x17c]
mov dword [esp + 0x138], edx
lea ebx, [0x64a020]
mov dword [esp], ebx
mov ebp, dword [esp + 0x78]
mov dword [esp + 4], ebp
mov esi, dword [esp + 0x148]
mov dword [esp + 8], esi
call fcn.00407610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x138]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x10], eax
call fcn.005f3150
movzx eax, byte [esp + 0x14]
test al, al
je 0x5f0cd2
mov ecx, dword [esp + 0x60]
test ecx, ecx
jg 0x5f0bdf
mov edx, dword [esp + 0x48]
test edx, edx
jle 0x5f0a9a
mov ebx, dword [esp + 0x44]
test ebx, ebx
je 0x5f15ab
mov eax, dword [esp + 0xa4]
mov ebp, edx
cmp ebx, 0xffffffff
je 0x5f0a90
cdq
idiv ebx
jmp 0x5f0a92
xor edx, edx
test edx, edx
je 0x5f0bb0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x40]
add eax, ecx
mov dword [esp + 0x98], eax
call fcn.0048d1a0
lea edi, [esp + 0x198]
mov esi, esp
call fcn.0044d66e
mov edi, esp
lea esi, [esp + 0x198]
call fcn.0044d66e
mov edi, dword [esp + 0x15c]
lea esi, [esp + 0x1ac]
call fcn.0044d66e
call fcn.0048c8c0
mov eax, dword [esp + 0x40]
mov ecx, eax
sar eax, 0x1f
mov edx, dword [esp + 0x4c]
add edx, ecx
mov ecx, dword [esp + 0x50]
adc ecx, eax
mov eax, dword [esp + 0x2c]
test eax, eax
sete al
setg dl
cmp dword [esp + 0x28], 0x3b9aca00
seta bl
and eax, ebx
or eax, edx
test al, al
jne 0x5f0b25
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x58]
jmp 0x5f0002
mov dword [esp + 0x8c], ecx
mov eax, 0x64
mov edx, dword [esp + 0x98]
mul edx
mov dword [esp], eax
imul ebp, ecx, 0x64
add edx, ebp
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0xc], ebp
call fcn.00448530
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x54]
cmp edx, ecx
setne bl
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x58]
cmp esi, ebp
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x5f0baa
mov dword [esp + 0x5c], ecx
lea edi, [esp + 0x1ac]
lea esi, [esp + 0x198]
call fcn.0044d66e
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x8c]
mov edx, ebp
jmp 0x5f0002
mov eax, edx
mov ebp, esi
jmp 0x5f0b9c
mov eax, 0x3e8
mul ebp
mov dword [esp], eax
sar ebp, 0x1f
imul ebx, ebp, 0x3e8
add edx, ebx
mov dword [esp + 4], edx
call fcn.0043fab0
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
jmp 0x5f0a9a
mov eax, dword [esp + 0x1fc]
mov dword [esp], eax
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x148]
mov dword [esp + 8], edx
call fcn.005f15f0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov byte [esp + 0x210], al
mov dword [esp + 0x214], ecx
mov dword [esp + 0x218], edx
movzx eax, byte [esp + 0x210]
test al, al
je 0x5f0c38
mov ecx, dword [esp + 0x60]
jmp 0x5f0a69
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.00407430
mov eax, dword [esp + 8]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea ecx, [0x640d20]
mov dword [esp + 0x188], ecx
lea edx, [0x6e2008]
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [0x894484]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004a6fa0
nop
call fcn.00427bc0
add esp, 0x1f8
ret
mov byte [esp + 0x21c], 1
lea eax, [0x684c5e]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 7
lea eax, [0x6867cc]
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], 0xc
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
call fcn.00407360
mov eax, dword [esp + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea ecx, [0x640d20]
mov dword [esp + 0x188], ecx
lea ecx, [0x6e2000]
mov dword [esp + 0x18c], ecx
lea ecx, [0x640260]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], eax
mov eax, dword [0x894484]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004a6fa0
nop
call fcn.00427bc0
add esp, 0x1f8
ret
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438ea0
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xa0]
mov ebx, dword [esp + 0x40]
jmp 0x5f08d1
mov dword [esp + 0x9c], ecx
lea ebx, [0x640f20]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x40]
jmp 0x5f0894
mov dword [esp + 0x88], eax
mov dword [esp + 0xa0], esi
mov dword [esp + 0x9c], ebp
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call fcn.00438ea0
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0xa0]
jmp 0x5f080b
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00438ea0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x84]
jmp 0x5f0756
mov dword [esp + 0x9c], ebx
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00438ea0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x84]
mov ebx, dword [esp + 0x9c]
jmp 0x5f0724
mov dword [esp + 0xa0], eax
mov dword [esp + 0x9c], edx
lea ecx, [0x640f20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00438ea0
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
jmp 0x5f0690
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], eax
lea ecx, [0x640f20]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.00438ea0
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
jmp 0x5f063d
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00438ea0
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x80]
jmp 0x5f0593
mov dword [esp + 0x9c], ebx
lea ecx, [0x640f20]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00438ea0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x14c]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
jmp 0x5f0561
mov dword [esp + 0xa0], edx
mov dword [esp + 0x9c], eax
lea ecx, [0x640f20]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.00438ea0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xa0]
jmp 0x5f04b7
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
lea ebp, [0x640f20]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
jmp 0x5f043d
lea eax, [0x640f20]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.00438ea0
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x7c]
jmp 0x5f03b5
mov dword [esp + 0x9c], ebx
lea ecx, [0x640f20]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.00438ea0
mov esi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x150]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x9c]
jmp 0x5f0383
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
lea ebp, [0x640f20]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
jmp 0x5f02f2
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
lea ebp, [0x640f20]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
jmp 0x5f029e
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
lea ebp, [0x640f20]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
jmp 0x5f0201
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
lea ebp, [0x640f20]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
jmp 0x5f01a5
mov dword [esp + 0xa0], ecx
mov dword [esp + 0x9c], eax
lea ebp, [0x640f20]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00438ea0
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0xa0]
jmp 0x5f014e
cmp dword [0x894b80], ecx
je 0x5f1391
test ecx, ecx
mov byte [esp + 0x21c], 0
lea eax, [0x684c5e]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 7
lea eax, [0x688b35]
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], 0x12
je 0x5f138a
mov eax, dword [ecx + 4]
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea ecx, [0x640d20]
mov dword [esp + 0x188], ecx
lea ecx, [0x6e2010]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], edx
mov eax, dword [0x894484]
mov dword [esp], eax
lea eax, [esp + 0x188]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], 2
call fcn.004a6fa0
nop
call fcn.00427bc0
add esp, 0x1f8
ret
mov eax, ecx
jmp 0x5f1300
mov dword [esp + 0x70], ecx
mov dword [esp + 0x144], edx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov eax, dword [0x894b84]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5f13cd
mov ecx, dword [esp + 0x70]
test ecx, ecx
mov edx, dword [esp + 0x144]
jmp 0x5f12bf
mov eax, dword [esp + 0x78]
test byte [eax], al
mov dword [esp], 0xc
add eax, 0x10
mov dword [esp + 4], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 8], eax
call fcn.004273f0
test eax, eax
jne 0x5f1402
nop
call fcn.00427bc0
add esp, 0x1f8
ret
nop
call fcn.00427bc0
add esp, 0x1f8
ret
nop
call fcn.00427bc0
add esp, 0x1f8
ret
mov byte [esp + 0x21c], 0
lea eax, [0x684c5e]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 7
lea eax, [0x688adb]
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], 0x12
nop
call fcn.00427bc0
add esp, 0x1f8
ret
mov byte [esp + 0x21c], 0
lea eax, [0x684c5e]
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], 7
lea eax, [0x688aed]
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], 0x12
nop
call fcn.00427bc0
add esp, 0x1f8
ret
nop
call fcn.00427bc0
add esp, 0x1f8
ret
nop
call fcn.00427bc0
add esp, 0x1f8
ret
mov eax, dword [esp + 0x200]
mov dword [esp], eax
mov ecx, dword [esp + 0x204]
mov dword [esp + 4], ecx
call fcn.00407430
mov eax, dword [esp + 8]
mov dword [esp + 0x164], eax
mov ecx, dword [esp + 0x208]
mov dword [esp], ecx
mov edx, dword [esp + 0x20c]
mov dword [esp + 4], edx
call fcn.00407430
mov eax, dword [esp + 8]
mov dword [esp + 0x160], eax
lea edi, [esp + 0x1d8]
xor eax, eax
call fcn.0044d188
lea eax, [0x640d20]
mov dword [esp + 0x1d8], eax
lea ecx, [0x6e1fd8]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], eax
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x1e4], ecx
mov dword [esp + 0x1e8], eax
lea ecx, [0x6e1fe0]
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1f0], eax
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [0x894488]
mov dword [esp], ecx
lea ecx, [esp + 0x1d8]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.004a6fa0
jmp 0x5efb1d
nop
call fcn.00427bc0
add esp, 0x1f8
ret
call fcn.00427350
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427150
ud2
call fcn.00427250
ud2
call fcn.00427150
ud2
call fcn.0044b940
jmp fcn.005ef970