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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x10c]
cmp eax, dword [ecx + 8]
jbe 0x59e85e
sub esp, 0x18c
mov eax, 0
lea edi, [esp + 0x158]
call fcn.0044cd13
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
movzx ecx, byte [ecx + 0x4c]
test cl, cl
je 0x59d569
mov ecx, dword [eax + 0x64]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jle 0x59d569
mov ecx, dword [eax + 8]
mov byte [ecx + 0x38], 1
mov dword [esp + 0xe0], edx
mov ecx, dword [eax + 4]
movzx ecx, byte [ecx + 0x68]
test cl, cl
je 0x59e7fc
mov ecx, dword [edx + 0x24]
movzx ecx, byte [ecx + 0x5d]
xor ecx, 1
mov edx, dword [eax + 8]
mov byte [edx + 0x48], cl
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
movzx edx, word [edx]
mov word [ecx + 0x28], dx
mov ecx, dword [eax]
movzx ecx, word [ecx + 0x20]
mov edx, dword [eax + 0xc]
mov dword [esp + 4], edx
mov word [esp], cx
call fcn.005a39b0
lea esi, [esp + 8]
lea edi, [esp + 0xf0]
call fcn.0044d1ae
mov eax, dword [0xbc7270]
mov ecx, dword [esp + 0x190]
lea edi, [ecx + 0x18]
mov dword [esp + 0xec], edi
test eax, eax
jne 0x59e7da
lea esi, [esp + 0xf0]
call fcn.0044d1ae
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x44]
test edx, edx
jne 0x59e7ce
mov edx, dword [esp + 0xec]
test byte [edx], al
mov ebx, dword [esp + 0x190]
mov dword [ebx + 0x3c], 0
mov dword [ebx + 0x40], 0
mov ebp, dword [0xbc7270]
test ebp, ebp
jne 0x59e7bf
mov dword [ebx + 0x38], 0
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.00596ab0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.00598810
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.00598810
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xe0]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00590510
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x59e7aa
lea eax, [0x78fe60]
mov dword [esp], eax
call fcn.00409dc0
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 0x64]
mov edx, dword [esp + 4]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [edx + 0x10], ebp
mov dword [edx + 0x14], ebx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x59e79b
mov dword [edx + 0xc], ecx
mov dword [esp + 0xdc], edx
mov dword [esp], edx
call fcn.00599c10
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.00599c10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xe0]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.00590510
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x59e786
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 8]
movzx ecx, byte [ecx + 0x38]
test cl, cl
jne 0x59e6ad
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0xe0]
movzx ebx, word [ecx + 0x20]
mov word [esp], bx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 4]
mov dword [esp + 0x88], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0xc4], ecx
mov ebx, dword [eax + 0x14]
mov ebp, dword [esp + 0xe0]
mov esi, dword [ebp + 0x24]
mov edi, dword [esp + 0x190]
mov eax, dword [edi + 0x64]
mov ebp, dword [edi + 4]
mov edi, dword [edi + 8]
mov dword [esp + 0x10], edi
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp], ecx
call ebx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
test ecx, ecx
jne 0x59e668
test eax, eax
je 0x59d86a
mov dword [esp + 0xbc], eax
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
test ebx, ebx
je 0x59e56a
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.005a3ce0
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
test edx, edx
je 0x59e472
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00590510
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x59e45d
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x44]
cmp edx, 1
jge 0x59e31f
lea eax, [0x7720a0]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00438c00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x59e81f
mov byte [edx], 0xe
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.005a3ce0
mov dword [esp + 0xa4], 0
mov byte [esp + 0xa4], 0xe
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0x16
lea ecx, [esp + 0xa4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
mov dword [esp + 0x10], 4
call fcn.00590510
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x59e30a
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.0058fef0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x59e2f5
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.005905e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x59e2e0
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx + 0x44]
cmp ecx, 1
jl 0x59e2d7
lea ecx, [0x799a60]
cmp ecx, ebx
jne 0x59e2cb
mov ebp, edx
mov dword [esp + 0xdc], edx
jne 0x59e264
mov dword [esp], edx
call fcn.00599c10
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
test ecx, ecx
jne 0x59da3d
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x24]
mov ebp, dword [ebp + 0x44]
cmp ebp, 2
jne 0x59da38
mov dword [esp], ebx
mov byte [esp + 4], 0x2a
call fcn.0058fa70
lea eax, [0x787c00]
mov dword [esp], eax
call fcn.00409dc0
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x28
mov eax, dword [0xbc7270]
test eax, eax
jne 0x59da2b
lea eax, [0x7ed408]
mov dword [edi], eax
lea eax, [0x8f8790]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
lea eax, [0x7ed408]
call fcn.0044cc20
jmp 0x59da10
cmp ebp, 4
je 0x59d9d8
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x190]
mov dword [esp], eax
call fcn.0059f700
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x59e24f
mov dword [esp + 0xb8], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.005905e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test eax, eax
jne 0x59e23a
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x7c]
lea ebp, [0x799ce0]
cmp ebp, ebx
jne 0x59e22e
mov esi, edx
mov dword [esp + 0xc0], edx
jne 0x59e1c0
mov dword [esp + 0xb8], eax
mov dword [esp + 0x7c], ecx
mov ebx, dword [edx + 8]
mov ebp, dword [edx]
mov esi, dword [edx + 4]
test ebp, ebp
je 0x59e0c6
mov eax, dword [esp + 0xec]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.005a3ce0
mov eax, dword [esp + 0x88]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x24]
mov ebx, dword [esp + 0x190]
mov ebp, dword [ebx + 0x64]
movzx esi, word [ecx + 0x20]
mov word [esp + 0x10], si
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0xc0]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
test ecx, ecx
jne 0x59e081
mov dword [esp + 0x80], ebx
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 4]
mov esi, dword [eax + 8]
mov edi, dword [esp + 0xe0]
movzx edi, word [edi + 0x20]
mov eax, dword [eax + 0xc]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0xa0], ebx
mov ebx, dword [ecx + 0x14]
mov dword [esp + 0x9c], ebx
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0xe8], ecx
mov ebx, dword [esi + 0x18]
mov ecx, dword [esi + 0x14]
mov esi, dword [esi + 0x10]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ebx
mov word [esp], di
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x80]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], eax
call fcn.005a3180
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x190]
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x54], ecx
mov ebp, dword [0xbc7270]
test ebp, ebp
jne 0x59e074
mov dword [ebx + 0x4c], eax
mov ebp, dword [ebx + 4]
mov esi, dword [esp + 0xe0]
mov edi, dword [esi + 0x24]
mov ebx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.0058c370
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x59e02f
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x4c]
test edx, edx
jg 0x59dcce
mov ecx, dword [esp + 0xec]
test byte [ecx], al
mov ecx, dword [esp + 0x190]
mov dword [ecx + 0x3c], 0
mov dword [ecx + 0x40], 0
mov edx, dword [0xbc7270]
test edx, edx
jne 0x59dcc2
mov dword [ecx + 0x38], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x18c
ret
lea edi, [ecx + 0x38]
xor eax, eax
call fcn.0044cc20
jmp 0x59dca5
mov dword [esp], ecx
call fcn.005905e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
test eax, eax
jne 0x59e01a
lea eax, [0x799be0]
cmp eax, edx
jne 0x59e00e
mov ecx, ebx
mov dword [esp + 0xd4], ebx
jne 0x59dfa0
mov word [esp + 0x5e], 0
movzx eax, word [ebx + 0xe]
mov word [esp + 0x5e], ax
mov eax, dword [esp + 0xe0]
movzx ecx, word [eax + 0x20]
mov word [esp + 0x20], cx
mov ecx, dword [esp + 0x7c]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
lea ebp, [esp + 0x5e]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
mov ebp, dword [0xbae490]
mov esi, dword [0xbae498]
mov edi, dword [0xbae494]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
call fcn.00589750
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x28]
test ecx, ecx
jne 0x59df5b
mov byte [esp + 0x5d], dl
mov dword [esp + 0x8c], ebx
lea edi, [esp + 0x124]
mov esi, dword [esp + 0xec]
call fcn.0044d1ae
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 0x54]
mov ebp, dword [eax + 0x50]
mov eax, dword [eax + 0x4c]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ecx
mov edi, esp
lea esi, [esp + 0x124]
call fcn.0044d1ae
mov byte [esp + 0x34], dl
mov dword [esp + 0x38], ebx
call fcn.005a46d0
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
test ecx, ecx
je 0x59defb
test ecx, ecx
je 0x59ded8
mov dword [esp + 0xcc], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.0058fa70
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x7f2549]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x38
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0043bf20
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
lea edx, [0x787c00]
mov dword [esp], edx
call fcn.00409dc0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0xbc7270]
test eax, eax
jne 0x59deca
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
lea eax, [0x8f8790]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
mov eax, dword [esp + 0xb4]
call fcn.0044cc20
jmp 0x59deaf
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.0059b800
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a3ce0
jmp 0x59dc76
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 0x18]
mov esi, dword [eax + 0x14]
mov edi, dword [eax + 0x10]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ecx
movzx ecx, byte [esp + 0x5d]
mov byte [esp], cl
mov ecx, dword [esp + 0x7c]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xb8]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edx
call fcn.00589b40
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
jmp 0x59de02
mov dword [esp + 0xcc], eax
mov dword [esp + 0x90], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0x2f
call fcn.0058fa70
mov eax, dword [esp + 0x90]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp + 0x84], edx
mov dword [esp + 0xe4], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058fa70
lea eax, [0x799be0]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xc], eax
call fcn.0058c8d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov ecx, ebx
mov ebx, 0
jmp 0x59dcfe
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x18c
ret
mov dword [esp + 0xc8], eax
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058fa70
mov eax, dword [esp + 0x94]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
lea edi, [ebx + 0x4c]
call fcn.0044cc20
jmp 0x59dc22
mov dword [esp + 0xd0], eax
mov dword [esp + 0x98], ecx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.0058fa70
mov eax, dword [esp + 0x98]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov eax, dword [edx + 0x10]
mov dword [esp + 0xa0], eax
lea ecx, [0x7720a0]
mov dword [esp], ecx
lea ecx, [eax + 4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438c00
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
jbe 0x59e818
mov byte [ecx], 0x10
cmp eax, 1
jbe 0x59e811
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [ecx + 1], bl
cmp eax, 2
jbe 0x59e80a
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [ecx + 2], al
xchg ebp, eax
cmp eax, 3
jbe 0x59e803
mov dword [esp + 0xb0], ecx
mov byte [ecx + 3], bl
lea ebx, [edx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, ecx
lea ebp, [eax - 4]
mov edi, dword [esp + 0xc0]
mov esi, dword [edi + 0x10]
mov ecx, dword [edi + 0xc]
cmp ebp, esi
jle 0x59e1bc
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], edx
cmp ecx, ebx
je 0x59e17b
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0044d420
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0xc0]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [edi + 8], edx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x59e1ae
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov ebx, edx
mov esi, ecx
mov ebp, eax
jmp 0x59dae5
mov eax, dword [esp + 0xb0]
call fcn.0044cc20
jmp 0x59e1a3
mov esi, ebp
jmp 0x59e15f
mov dword [esp + 0xe4], esi
mov dword [esp + 0x84], ebx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058fa70
lea eax, [0x799ce0]
mov dword [esp], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xc], eax
call fcn.0058c8d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov esi, edx
mov edx, 0
jmp 0x59dabd
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x18c
ret
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp + 0xe4], ebp
mov dword [esp + 0x84], ebx
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058fa70
lea eax, [0x799a60]
mov dword [esp], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0xc], eax
call fcn.0058c8d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov ebp, edx
mov edx, 0
jmp 0x59d98e
xor eax, eax
xor ecx, ecx
jmp 0x59daad
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
lea edi, [esp + 0x158]
xor eax, eax
call fcn.0044cd13
lea ecx, [0x7626c0]
mov dword [esp], ecx
call fcn.00409dc0
mov ecx, dword [esp + 4]
movzx edx, word [0x8f6218]
mov word [ecx], dx
mov dword [esp + 0x16c], 2
mov dword [esp + 0x170], 2
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0xe0]
movzx edx, word [ecx + 0x20]
cmp dx, 0x303
jb 0x59e3a7
mov byte [esp + 0x164], 1
mov eax, dword [0xbae498]
mov edx, dword [0xbae494]
mov ebx, dword [0xbae490]
mov dword [esp + 0x178], edx
mov dword [esp + 0x17c], eax
mov dword [esp + 0x174], ebx
mov eax, dword [ecx + 0x24]
mov eax, dword [eax + 0x48]
test eax, eax
jne 0x59e42f
lea eax, [esp + 0x158]
mov dword [esp], eax
call fcn.0059ae60
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a3ce0
lea eax, [esp + 0x158]
mov dword [esp], eax
call fcn.0059ae60
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xe0]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00590510
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x59d880
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp], eax
call fcn.0056fa70
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], edx
mov dword [esp + 0x180], ecx
jmp 0x59e3b1
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xa0], ecx
lea edx, [0x7720a0]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00438c00
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x59e83b
mov byte [edx], 0xc
cmp ecx, 1
jbe 0x59e834
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x59e82d
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x59e826
mov dword [esp + 0xa8], edx
mov byte [edx + 3], bl
lea ebx, [eax - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, edx
lea ebp, [ecx - 4]
mov edi, dword [esp + 0xbc]
mov esi, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
cmp ebp, esi
jle 0x59e566
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
cmp edx, ebx
je 0x59e527
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0044d420
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0xbc]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [edi + 8], edx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x59e558
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov ebx, edx
mov edx, eax
jmp 0x59d83a
mov eax, dword [esp + 0xa8]
call fcn.0044cc20
jmp 0x59e54f
mov esi, ebp
jmp 0x59e50b
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xa0], ecx
lea edx, [0x7720a0]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00438c00
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jbe 0x59e857
mov byte [eax], 0xc
cmp ecx, 1
jbe 0x59e850
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp ecx, 2
jbe 0x59e849
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp ecx, 3
jbe 0x59e842
mov dword [esp + 0x70], edx
mov byte [eax + 3], bl
lea ebx, [edx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, eax
lea ebp, [ecx - 4]
mov edi, dword [esp + 0xbc]
mov esi, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
cmp ebp, edx
jle 0x59e664
mov dword [esp + 0xac], eax
mov dword [esp + 0x60], ecx
cmp esi, ebx
je 0x59e621
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.0044d420
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0xbc]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x70]
mov dword [edi + 8], edx
mov ebx, dword [0xbc7270]
test ebx, ebx
jne 0x59e656
mov eax, dword [esp + 0xac]
mov dword [edi], eax
mov ebx, eax
mov ecx, edx
mov edx, dword [esp + 0x60]
jmp 0x59d808
mov eax, dword [esp + 0xac]
call fcn.0044cc20
jmp 0x59e649
mov edx, ebp
jmp 0x59e602
mov dword [esp + 0x98], ecx
mov dword [esp + 0xd0], ebx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
mov byte [esp + 4], 0x28
call fcn.0058fa70
mov eax, dword [esp + 0x98]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
lea eax, [0x79df20]
mov dword [esp], eax
call fcn.00409dc0
mov eax, dword [esp + 4]
mov byte [eax + 0xc], 1
mov ecx, dword [esp + 0x190]
mov edx, dword [ecx + 0x64]
mov ebx, dword [edx + 0x14]
mov ebp, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
mov dword [eax + 0x14], ebp
mov dword [eax + 0x18], edx
mov edx, dword [0xbc7270]
test edx, edx
jne 0x59e773
mov dword [eax + 0x10], ebx
mov dword [esp + 0xd8], eax
mov dword [esp], eax
call fcn.0059a370
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.005a3ce0
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
call fcn.0059a370
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0xe0]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00590510
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x59e75e
mov eax, dword [esp + 0x190]
jmp 0x59d778
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x18c
ret
lea edi, [eax + 0x10]
mov edx, eax
mov eax, ebx
call fcn.0044cc20
mov eax, edx
jmp 0x59e6ed
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x18c
ret
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.0044cc20
jmp 0x59d6f9
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
lea edi, [ebx + 0x38]
xor eax, eax
call fcn.0044cc20
jmp 0x59d635
mov ebx, dword [esp + 0x190]
jmp 0x59d635
lea eax, [0x7c0260]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
call fcn.0040f650
jmp 0x59d5ed
xor ecx, ecx
jmp 0x59d589
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.00426630
ud2
call fcn.0044b4c0
jmp fcn.0059d510