Function at 0x591250
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 0x59259e
sub esp, 0x18c
mov eax, 0
lea edi, [esp + 0x158]
call fcn.0044cad3
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
movzx ecx, byte [ecx + 0x4c]
test cl, cl
je 0x5912a9
mov ecx, dword [eax + 0x64]
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jle 0x5912a9
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 0x59253c
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.005976f0
lea esi, [esp + 8]
lea edi, [esp + 0xf0]
call fcn.0044cf6e
mov eax, dword [0xa8f2d0]
mov ecx, dword [esp + 0x190]
lea edi, [ecx + 0x18]
mov dword [esp + 0xec], edi
test eax, eax
jne 0x59251a
lea esi, [esp + 0xf0]
call fcn.0044cf6e
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x44]
test edx, edx
jne 0x59250e
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 [0xa8f2d0]
test ebp, ebp
jne 0x5924ff
mov dword [ebx + 0x38], 0
mov eax, dword [ebx + 4]
mov dword [esp], eax
call fcn.0058a7f0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.0058c550
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 8]
mov dword [esp], ecx
call fcn.0058c550
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.00584250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5924ea
lea eax, [0x74ace0]
mov dword [esp], eax
call fcn.00409d00
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 [0xa8f2d0]
test ebx, ebx
jne 0x5924db
mov dword [edx + 0xc], ecx
mov dword [esp + 0xdc], edx
mov dword [esp], edx
call fcn.0058d950
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
call fcn.0058d950
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.00584250
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x5924c6
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 8]
movzx ecx, byte [ecx + 0x38]
test cl, cl
jne 0x5923ed
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 0x5923a8
test eax, eax
je 0x5915aa
mov dword [esp + 0xbc], eax
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
test ebx, ebx
je 0x5922aa
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.00597a20
mov eax, dword [esp + 0xbc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov ebx, dword [eax + 8]
test edx, edx
je 0x5921b2
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.00584250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x59219d
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x44]
cmp edx, 1
jge 0x59205f
lea eax, [0x731080]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00438a70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x59255f
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.00597a20
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.00584250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x59204a
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.00583c30
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test ecx, ecx
jne 0x592035
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.00584320
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x592020
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x24]
mov ecx, dword [ecx + 0x44]
cmp ecx, 1
jl 0x592017
lea ecx, [0x753ac0]
cmp ecx, ebx
jne 0x59200b
mov ebp, edx
mov dword [esp + 0xdc], edx
jne 0x591fa4
mov dword [esp], edx
call fcn.0058d950
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0xdc]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x14]
test ecx, ecx
jne 0x59177d
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x24]
mov ebp, dword [ebp + 0x44]
cmp ebp, 2
jne 0x591778
mov dword [esp], ebx
mov byte [esp + 4], 0x2a
call fcn.005837b0
lea eax, [0x7436e0]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x28
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x59176b
lea eax, [0x7a3b9e]
mov dword [edi], eax
lea eax, [0x7fe200]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
lea eax, [0x7a3b9e]
call fcn.0044c9e0
jmp 0x591750
cmp ebp, 4
je 0x591718
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.00593440
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x591f8f
mov dword [esp + 0xb8], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0xe0]
mov dword [esp], eax
call fcn.00584320
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test eax, eax
jne 0x591f7a
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x7c]
lea ebp, [0x753d40]
cmp ebp, ebx
jne 0x591f6e
mov esi, edx
mov dword [esp + 0xc0], edx
jne 0x591f00
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 0x591e06
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.00597a20
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 0x591dc1
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.00596ec0
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 [0xa8f2d0]
test ebp, ebp
jne 0x591db4
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.005800b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x591d6f
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x4c]
test edx, edx
jg 0x591a0e
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 [0xa8f2d0]
test edx, edx
jne 0x591a02
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.0044c9e0
jmp 0x5919e5
mov dword [esp], ecx
call fcn.00584320
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
test eax, eax
jne 0x591d5a
lea eax, [0x753c40]
cmp eax, edx
jne 0x591d4e
mov ecx, ebx
mov dword [esp + 0xd4], ebx
jne 0x591ce0
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 [0xa759d8]
mov esi, dword [0xa759e0]
mov edi, dword [0xa759dc]
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
call fcn.0057d490
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [esp + 0x26]
mov ebx, dword [esp + 0x28]
test ecx, ecx
jne 0x591c9b
mov byte [esp + 0x5d], dl
mov dword [esp + 0x8c], ebx
lea edi, [esp + 0x124]
mov esi, dword [esp + 0xec]
call fcn.0044cf6e
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.0044cf6e
mov byte [esp + 0x34], dl
mov dword [esp + 0x38], ebx
call fcn.00598410
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 0x591c3b
test ecx, ecx
je 0x591c18
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.005837b0
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, [0x7a8789]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x38
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
lea edx, [0x7436e0]
mov dword [esp], edx
call fcn.00409d00
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x591c0a
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
lea eax, [0x7fe200]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
mov eax, dword [esp + 0xb4]
call fcn.0044c9e0
jmp 0x591bef
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call fcn.0058f540
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00597a20
jmp 0x5919b6
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.0057d880
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
jmp 0x591b42
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.005837b0
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.005837b0
lea eax, [0x753c40]
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.00580610
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 0x591a3e
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.005837b0
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.0044c9e0
jmp 0x591962
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.005837b0
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, [0x731080]
mov dword [esp], ecx
lea ecx, [eax + 4]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438a70
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
jbe 0x592558
mov byte [ecx], 0x10
cmp eax, 1
jbe 0x592551
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [ecx + 1], bl
cmp eax, 2
jbe 0x59254a
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [ecx + 2], al
xchg ebp, eax
cmp eax, 3
jbe 0x592543
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 0x591efc
mov dword [esp + 0x64], eax
mov dword [esp + 0x74], edx
cmp ecx, ebx
je 0x591ebb
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call fcn.0044d1e0
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 [0xa8f2d0]
test ebx, ebx
jne 0x591eee
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov ebx, edx
mov esi, ecx
mov ebp, eax
jmp 0x591825
mov eax, dword [esp + 0xb0]
call fcn.0044c9e0
jmp 0x591ee3
mov esi, ebp
jmp 0x591e9f
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.005837b0
lea eax, [0x753d40]
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.00580610
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 0x5917fd
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.005837b0
lea eax, [0x753ac0]
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.00580610
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 0x5916ce
xor eax, eax
xor ecx, ecx
jmp 0x5917ed
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.0044cad3
lea ecx, [0x722a80]
mov dword [esp], ecx
call fcn.00409d00
mov ecx, dword [esp + 4]
movzx edx, word [0x7fbd9c]
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 0x5920e7
mov byte [esp + 0x164], 1
mov eax, dword [0xa759e0]
mov edx, dword [0xa759dc]
mov ebx, dword [0xa759d8]
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 0x59216f
lea eax, [esp + 0x158]
mov dword [esp], eax
call fcn.0058eba0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00597a20
lea eax, [esp + 0x158]
mov dword [esp], eax
call fcn.0058eba0
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.00584250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x5915c0
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp], eax
call fcn.00562870
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 0x5920f1
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, [0x731080]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00438a70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x59257b
mov byte [edx], 0xc
cmp ecx, 1
jbe 0x592574
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x59256d
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x592566
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 0x5922a6
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], ecx
cmp edx, ebx
je 0x592267
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0044d1e0
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 [0xa8f2d0]
test ebx, ebx
jne 0x592298
mov eax, dword [esp + 0xa8]
mov dword [edi], eax
mov ebx, edx
mov edx, eax
jmp 0x59157a
mov eax, dword [esp + 0xa8]
call fcn.0044c9e0
jmp 0x59228f
mov esi, ebp
jmp 0x59224b
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xa0], ecx
lea edx, [0x731080]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00438a70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test ecx, ecx
jbe 0x592597
mov byte [eax], 0xc
cmp ecx, 1
jbe 0x592590
mov ebx, dword [esp + 0xa0]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp ecx, 2
jbe 0x592589
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp ecx, 3
jbe 0x592582
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 0x5923a4
mov dword [esp + 0xac], eax
mov dword [esp + 0x60], ecx
cmp esi, ebx
je 0x592361
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], edx
call fcn.0044d1e0
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 [0xa8f2d0]
test ebx, ebx
jne 0x592396
mov eax, dword [esp + 0xac]
mov dword [edi], eax
mov ebx, eax
mov ecx, edx
mov edx, dword [esp + 0x60]
jmp 0x591548
mov eax, dword [esp + 0xac]
call fcn.0044c9e0
jmp 0x592389
mov edx, ebp
jmp 0x592342
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.005837b0
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, [0x756e80]
mov dword [esp], eax
call fcn.00409d00
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 [0xa8f2d0]
test edx, edx
jne 0x5924b3
mov dword [eax + 0x10], ebx
mov dword [esp + 0xd8], eax
mov dword [esp], eax
call fcn.0058e0b0
mov eax, dword [esp + 0xec]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
call fcn.0058e0b0
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.00584250
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
test eax, eax
jne 0x59249e
mov eax, dword [esp + 0x190]
jmp 0x5914b8
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.0044c9e0
mov eax, edx
jmp 0x59242d
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x18c
ret
lea edi, [edx + 0xc]
mov eax, ecx
call fcn.0044c9e0
jmp 0x591439
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
lea edi, [ebx + 0x38]
xor eax, eax
call fcn.0044c9e0
jmp 0x591375
mov ebx, dword [esp + 0x190]
jmp 0x591375
lea eax, [0x776b80]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xf0]
mov dword [esp + 8], eax
call fcn.0040f700
jmp 0x59132d
xor ecx, ecx
jmp 0x5912c9
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.004266e0
ud2
call fcn.0044b280
jmp fcn.00591250