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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x16c]
cmp eax, dword [ecx + 8]
jbe 0x5889be
sub esp, 0x1ec
mov eax, 0
lea edi, [esp + 0x168]
call fcn.0044cad9
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax]
mov dword [esp + 0x12c], ecx
mov dword [esp], ecx
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 0x588924
lea eax, [0x753ac0]
cmp eax, ebx
jne 0x588918
mov ecx, edx
mov dword [esp + 0x128], edx
mov dword [esp + 0x140], ecx
mov dword [esp + 0x88], ebx
jne 0x587132
mov ebp, dword [edx + 0x10]
test ebp, ebp
jne 0x587192
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005837b0
lea eax, [0x753ac0]
mov dword [esp], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0xc], eax
call fcn.00580610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp], edx
call fcn.0058d950
mov eax, dword [esp + 0x1f0]
lea ecx, [eax + 0x10]
mov dword [esp + 0x13c], ecx
mov dword [esp], ecx
call fcn.00597a20
mov eax, dword [esp + 0x12c]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x58839b
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x48]
test ecx, ecx
jbe 0x5889a2
mov ecx, dword [edx]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov ebp, dword [esp + 0x128]
mov esi, dword [ebp + 0x10]
mov ebp, dword [ebp + 0xc]
test esi, esi
jbe 0x5889a2
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], eax
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
call fcn.00402190
movzx eax, byte [esp + 0x18]
test al, al
je 0x588334
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
call fcn.00584320
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
test ecx, ecx
jne 0x58831f
lea ecx, [0x753bc0]
cmp ecx, eax
jne 0x588313
mov ecx, edx
jne 0x58830a
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 4]
movzx ecx, byte [ecx + 0x38]
test cl, cl
je 0x5882a3
mov dword [esp + 0x118], edx
mov dword [esp], edx
call fcn.0058e0b0
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0x118]
movzx ecx, byte [eax + 0xc]
cmp cl, 1
jne 0x588297
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x18]
mov ebp, dword [esp + 0x12c]
mov dword [ebp + 0x34], ecx
mov dword [ebp + 0x38], ebx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x588288
mov dword [ebp + 0x30], edx
mov dword [esp], ebp
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 0x588273
mov dword [esp + 0x88], ebx
mov dword [esp + 0xe8], edx
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
mov ebp, dword [esp + 0x12c]
movzx esi, word [ebp + 0x20]
mov word [esp], si
mov esi, dword [ecx]
mov edx, ecx
call esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea ebx, [0x7540c0]
mov ebp, dword [esp + 0x88]
cmp ebx, ebp
jne 0x588269
mov edx, dword [esp + 0xe8]
mov dword [esp + 0xf8], eax
mov dword [esp + 0x8c], ecx
jne 0x58825b
mov dword [esp + 0xf4], edx
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
test esi, esi
je 0x58815f
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.00597a20
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx + 0x24]
mov ebp, dword [esp + 0x1f0]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 4]
mov ebp, dword [edx + 0x48]
mov eax, dword [edx + 0x4c]
test eax, eax
jbe 0x58897f
mov eax, dword [ebp]
mov dword [esp + 0x10], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x58811a
mov eax, dword [esp + 0x12c]
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 0x588105
lea eax, [0x753b40]
cmp eax, ebx
jne 0x5880f9
mov eax, edx
mov dword [esp + 0x124], edx
je 0x58801a
xor ecx, ecx
xor ebp, ebp
lea esi, [0x753fc0]
cmp esi, ebx
jne 0x58800e
mov edi, eax
jne 0x587f99
mov dword [esp + 0x11c], ebp
mov byte [esp + 0x5f], cl
lea eax, [0x731080]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.00438a70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jbe 0x588978
mov byte [eax], 0xe
mov ebx, dword [esp + 0x13c]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
call fcn.00597a20
movzx eax, byte [esp + 0x5f]
test al, al
jne 0x587ed0
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [esp + 0x1f0]
mov ebp, dword [ebx + 8]
mov esi, dword [ecx + 0x48]
mov edi, dword [ecx + 0x4c]
test edi, edi
jbe 0x588971
mov ecx, dword [esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
test ecx, ecx
jne 0x587e8b
mov dword [esp + 0x84], edx
mov dword [esp + 0x80], ebx
mov dword [esp + 0xe4], ebp
test esi, esi
je 0x5875b1
mov dword [esp + 0xec], esi
mov eax, dword [esi + 8]
mov ecx, dword [esi + 4]
mov edi, dword [esi]
test edi, edi
je 0x587d8e
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00597a20
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov ebx, dword [eax + 4]
test edx, edx
je 0x587c92
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
call fcn.00584250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x587c7d
mov ecx, dword [esp + 0x11c]
test ecx, ecx
je 0x5875c7
mov edx, dword [ecx + 4]
test edx, edx
jg 0x5877ed
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [esp + 0x12c]
movzx ebp, word [ebx + 0x20]
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x18]
mov dword [esp + 0xc8], ecx
mov eax, dword [edx + 0x10]
mov ecx, dword [edx + 0x18]
mov edx, dword [edx + 0x14]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
mov word [esp], bp
mov dword [esp + 4], esi
mov eax, dword [esp + 0xe4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], edi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1c], eax
call fcn.00596ec0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x1f0]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], eax
mov ebp, dword [0xa8f2d0]
test ebp, ebp
jne 0x5877da
mov dword [ebx + 0x44], edx
mov ebp, dword [ebx + 8]
mov esi, dword [esp + 0x12c]
mov edi, dword [esi + 0x24]
mov esi, dword [ebp + 0x18]
mov ebx, dword [ebp + 0x14]
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
call fcn.005800b0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x58770c
mov ecx, dword [esp + 0x13c]
test byte [ecx], al
mov ecx, dword [esp + 0x1f0]
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x38], 0
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x587700
mov dword [ecx + 0x30], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f8], 0
add esp, 0x1ec
ret
lea edi, [ecx + 0x30]
xor eax, eax
call fcn.0044c9e0
jmp 0x5876e3
mov dword [esp + 0x108], eax
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005837b0
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x108]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x7a0e42]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043bce0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xe0], ecx
lea edx, [0x7436e0]
mov dword [esp], edx
call fcn.00409d00
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5877cc
mov eax, dword [esp + 0xe0]
mov dword [edi], eax
lea eax, [0x7fe200]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
mov eax, dword [esp + 0xe0]
call fcn.0044c9e0
jmp 0x5877b1
lea edi, [ebx + 0x44]
mov ebp, eax
mov eax, edx
call fcn.0044c9e0
mov eax, ebp
jmp 0x587672
lea edi, [esp + 0x168]
xor eax, eax
call fcn.0044cad9
lea edi, [esp + 0x168]
call fcn.0044cad9
mov ecx, dword [esp + 0x12c]
movzx edx, word [ecx + 0x20]
cmp dx, 0x303
setae dl
mov byte [esp + 0x174], dl
mov edx, dword [esp + 0x11c]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea esi, [0x744e20]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00407c20
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
movzx ebx, byte [esp + 0x14]
test bl, bl
je 0x587bea
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x90], edx
mov eax, dword [edx + 0x10]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 8]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp + 0x124]
mov esi, dword [ebp + 0x24]
mov edi, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x1c]
mov eax, dword [ecx + 0x80]
mov dword [esp + 0xc8], eax
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0xc4], eax
mov ecx, dword [ecx + 0x78]
mov eax, dword [esp + 0x12c]
movzx eax, word [eax + 0x20]
mov word [esp + 0x20], ax
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x1c], eax
call fcn.0057d490
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
movzx edx, word [esp + 0x24]
movzx ebx, byte [esp + 0x26]
mov ebp, dword [esp + 0x28]
test ecx, ecx
jne 0x587ba5
movzx eax, byte [esp + 0x174]
test al, al
je 0x58791f
mov word [esp + 0x176], dx
mov byte [esp + 0x5e], bl
mov dword [esp + 0x9c], ebp
lea edi, [esp + 0x1b8]
mov esi, dword [esp + 0x13c]
call fcn.0044cf6e
mov eax, dword [esp + 0x1f0]
mov ecx, dword [eax + 0x4c]
mov edx, dword [eax + 0x48]
mov eax, dword [eax + 0x44]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], ecx
mov edi, esp
lea esi, [esp + 0x1b8]
call fcn.0044cf6e
mov byte [esp + 0x34], bl
mov dword [esp + 0x38], ebp
call fcn.00598410
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
test ebx, ebx
jne 0x587b60
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x114], edx
mov dword [esp + 0xb8], ebp
lea eax, [0x7feb40]
mov dword [esp], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 4], eax
call fcn.00407760
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
movzx edx, byte [esp + 0x5e]
cmp dl, 0x12
je 0x587b33
mov edx, dword [esp + 0x12c]
mov ebx, dword [edx + 0x24]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x587b22
mov edx, dword [esp + 0x90]
mov edx, dword [edx + 0x14]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0x114]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x17c], ebx
mov dword [esp + 0x180], eax
mov dword [esp + 0x178], ebp
test ecx, ecx
jne 0x587add
lea eax, [esp + 0x168]
mov dword [esp], eax
call fcn.0058f540
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.00597a20
lea eax, [esp + 0x168]
mov dword [esp], eax
call fcn.0058f540
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x12c]
mov dword [esp], ebx
mov byte [esp + 4], 0x16
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00584250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x5875c7
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0xac], ecx
mov dword [esp + 0x100], edx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005837b0
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov ebp, dword [0xa7ce8c]
mov ebx, dword [0xa7ce88]
jmp 0x5879eb
lea eax, [0x74ab60]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x9c]
mov dword [eax + 4], ecx
lea ecx, [0x7fe100]
jmp 0x5879d4
mov dword [esp + 0x100], eax
mov dword [esp + 0xac], ebx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005837b0
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x100], eax
mov dword [esp + 0xac], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005837b0
mov eax, dword [esp + 0xac]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005837b0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 0
mov eax, dword [esp + 0x11c]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
lea eax, [0x7aa5a4]
mov dword [esp], eax
mov dword [esp + 4], 0x4f
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5080
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xc8], ecx
lea edx, [0x731080]
mov dword [esp], edx
lea edx, [ecx + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00438a70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x58894e
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x588947
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x588940
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x588939
mov dword [esp + 0xd8], 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 + 0xec]
mov esi, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
cmp ebp, esi
jle 0x587d8a
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], ecx
cmp edx, ebx
je 0x587d47
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 + 0xec]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x70]
mov dword [edi + 8], edx
mov ebx, dword [0xa8f2d0]
test ebx, ebx
jne 0x587d7c
mov eax, dword [esp + 0xd8]
mov dword [edi], eax
mov ecx, edx
mov ebx, dword [esp + 0x68]
mov edx, eax
jmp 0x587581
mov eax, dword [esp + 0xd8]
call fcn.0044c9e0
jmp 0x587d6f
mov esi, ebp
jmp 0x587d2b
mov eax, dword [esi + 0x10]
mov dword [esp + 0xc8], eax
lea ecx, [0x731080]
mov dword [esp], ecx
lea edx, [eax + 4]
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.00438a70
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test ecx, ecx
jbe 0x58896a
mov byte [edx], 0x10
cmp ecx, 1
jbe 0x588963
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [edx + 1], bl
cmp ecx, 2
jbe 0x58895c
mov ebx, ebp
sar ebp, 8
xchg ebp, eax
mov byte [edx + 2], al
xchg ebp, eax
cmp ecx, 3
jbe 0x588955
mov dword [esp + 0xd4], 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 + 0xec]
mov esi, dword [edi + 0x10]
mov edx, dword [edi + 0xc]
cmp ebp, esi
jle 0x587e87
mov dword [esp + 0x74], eax
mov dword [esp + 0x64], ecx
cmp edx, ebx
je 0x587e43
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call fcn.0044d1e0
mov ecx, dword [esp + 0x64]
mov edi, dword [esp + 0xec]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x74]
mov dword [edi + 8], edx
mov ebx, dword [0xa8f2d0]
test ebx, ebx
jne 0x587e79
mov eax, dword [esp + 0xd4]
mov dword [edi], eax
mov eax, edx
mov edi, dword [esp + 0xd4]
jmp 0x58754f
mov eax, dword [esp + 0xd4]
call fcn.0044c9e0
jmp 0x587e6b
mov esi, ebp
jmp 0x587e27
mov dword [esp + 0x110], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005837b0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea eax, [0x74ace0]
mov dword [esp], eax
call fcn.00409d00
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x11c]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
mov ebp, dword [ecx]
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], edx
mov edx, dword [0xa8f2d0]
test edx, edx
jne 0x587f86
mov dword [eax + 0xc], ebp
mov dword [esp + 0x128], eax
mov dword [esp], eax
call fcn.0058d950
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0x128]
mov dword [esp], eax
call fcn.0058d950
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x12c]
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 0x5874b9
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea edi, [eax + 0xc]
mov edx, eax
mov eax, ebp
call fcn.0044c9e0
mov eax, edx
jmp 0x587f08
mov dword [esp + 0xf0], eax
mov dword [esp + 0x140], edi
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005837b0
lea eax, [0x753fc0]
mov dword [esp], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0xc], eax
call fcn.00580610
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov edi, eax
mov eax, 0
jmp 0x58744b
mov dword [esp], edx
call fcn.0058eba0
mov eax, dword [esp + 0x13c]
mov dword [esp], eax
call fcn.00597a20
mov eax, dword [esp + 0x1f0]
mov dword [esp], eax
mov ecx, dword [esp + 0x124]
mov dword [esp + 4], ecx
call fcn.00589f80
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x5880b4
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x12c]
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 0x58809f
mov eax, edx
mov ecx, 1
mov ebp, dword [esp + 0x11c]
mov edx, dword [esp + 0x124]
jmp 0x58743b
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x110], ecx
mov dword [esp + 0xa0], edx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.005837b0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, edx
mov edx, 0
jmp 0x58742a
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0x110], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005837b0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, dword [edx + 0x10]
mov dword [esp + 0xc8], eax
lea ecx, [0x731080]
mov dword [esp], ecx
lea ebx, [eax + 4]
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.00438a70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jbe 0x58899b
mov byte [eax], 0xc
cmp edx, 1
jbe 0x588994
mov ebx, dword [esp + 0xc8]
mov ebp, ebx
sar ebx, 0x10
mov byte [eax + 1], bl
cmp edx, 2
jbe 0x58898d
mov ebx, ebp
sar ebp, 8
xchg ebp, ebx
mov byte [eax + 2], bl
xchg ebp, ebx
cmp edx, 3
jbe 0x588986
mov dword [esp + 0x6c], ecx
mov byte [eax + 3], bl
lea ebx, [ecx - 4]
neg ebx
sar ebx, 0x1f
and ebx, 4
add ebx, eax
lea ebp, [edx - 4]
mov edi, dword [esp + 0xf4]
mov esi, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
cmp ebp, ecx
jle 0x588257
mov dword [esp + 0xd0], eax
mov dword [esp + 0x60], edx
cmp esi, ebx
je 0x588216
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
call fcn.0044d1e0
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], ecx
mov edx, dword [esp + 0x6c]
mov dword [edi + 8], edx
mov ebx, dword [0xa8f2d0]
test ebx, ebx
jne 0x588249
mov eax, dword [esp + 0xd0]
mov dword [edi], eax
mov ebx, edx
mov ebp, ecx
mov esi, eax
jmp 0x58736f
mov eax, dword [esp + 0xd0]
call fcn.0044c9e0
jmp 0x58823e
mov ecx, ebp
jmp 0x5881f7
mov edx, dword [esp + 0xe8]
mov ebx, ebp
jmp 0x58741a
mov edx, 0
jmp 0x587344
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea edi, [ebp + 0x30]
mov eax, edx
call fcn.0044c9e0
jmp 0x5872d0
mov ebp, dword [esp + 0x12c]
jmp 0x5872d0
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.005837b0
lea eax, [0x7436e0]
mov dword [esp], eax
call fcn.00409d00
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x32
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x5882fd
lea eax, [0x7a72b6]
mov dword [edi], eax
lea eax, [0x7fe200]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
lea eax, [0x7a72b6]
call fcn.0044c9e0
jmp 0x5882e2
mov ebx, eax
mov edx, ecx
jmp 0x5872f0
mov ecx, edx
mov edx, 0
jmp 0x58725b
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], ebx
add esp, 0x1ec
ret
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
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], 0x33
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x58838e
lea eax, [0x7a754a]
mov dword [edi], eax
lea eax, [0x7fe200]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
lea eax, [0x7a754a]
call fcn.0044c9e0
jmp 0x588373
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x10]
lea edx, [0x77da80]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.00438a70
mov eax, dword [esp + 0x10]
mov dword [esp + 0xbc], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x120], edx
mov ebx, dword [esp + 0x128]
mov ebp, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
test ebp, ebp
jg 0x5887a2
mov ebp, dword [esp + 0x12c]
mov esi, dword [ebp + 0x24]
movzx ebx, byte [esi + 0x4c]
test bl, bl
jne 0x58858e
mov dword [esp], esi
call fcn.0057fb50
lea esi, [esp + 4]
lea edi, [esp + 0x154]
call fcn.0044cfbe
call fcn.0040a780
mov eax, dword [esp]
mov dword [esp + 0x138], eax
call fcn.0040a780
mov eax, dword [esp]
mov dword [esp + 0x134], eax
lea ecx, [0x756f80]
mov dword [esp], ecx
call fcn.00409d00
mov edi, dword [esp + 4]
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x58877a
mov ecx, dword [esp + 0x138]
mov dword [edi], ecx
mov ecx, dword [esp + 0x134]
mov dword [edi + 4], ecx
mov dword [esp + 0xcc], edi
lea edi, [esp + 0x184]
xor eax, eax
call fcn.0044cad3
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x24]
mov edx, dword [edx + 0x2c]
mov dword [esp + 0x190], edx
lea edi, [esp + 0x194]
lea esi, [esp + 0x154]
call fcn.0044cfbe
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x24]
mov ebx, dword [edx + 0x3c]
mov edx, dword [edx + 0x40]
mov dword [esp + 0x184], ebx
mov dword [esp + 0x188], edx
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x18c], edx
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0xbc]
xor ebp, ebp
jmp 0x5884ed
inc ebp
xor eax, eax
cmp ebp, ebx
jge 0x588530
mov eax, dword [edx + ebp*4]
test ebp, ebp
je 0x5884ea
mov dword [esp + 0x94], ebp
mov ecx, dword [esp + 0x18c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00562470
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x120]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x94]
jmp 0x5884ea
test ebx, ebx
jbe 0x5889b0
mov eax, dword [edx]
mov dword [esp], eax
lea edi, [esp + 4]
lea esi, [esp + 0x184]
call fcn.0044cf6e
call fcn.00567120
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x48]
mov esi, ebp
mov ebp, dword [esp + 0x12c]
mov dword [ebp + 0x58], edx
mov dword [ebp + 0x5c], eax
mov eax, dword [0xa8f2d0]
test eax, eax
jne 0x58876b
mov dword [ebp + 0x54], ecx
test ebx, ebx
jne 0x58872d
mov ecx, dword [ebp + 0x24]
mov edx, dword [ecx + 0x28]
test edx, edx
jne 0x58869c
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jbe 0x5889a9
mov eax, dword [esp + 0x120]
mov edx, dword [eax]
mov edx, dword [edx + 0x50]
test edx, edx
je 0x58860e
mov ebx, dword [edx + 8]
cmp ebx, 0x2fd00e80
jne 0x5885fc
lea esi, [0x76a8e0]
cmp esi, edx
jne 0x5885fc
mov dword [ebp + 0x4c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [ebp + 0x50], ecx
mov ecx, dword [0xa8f2d0]
test ecx, ecx
jne 0x5885ef
mov dword [ebp + 0x48], eax
jmp 0x587224
lea edi, [ebp + 0x48]
call fcn.0044c9e0
jmp 0x587224
cmp ebx, 0xcc456746
jne 0x58860e
lea ebx, [0x73a100]
cmp ebx, edx
je 0x5885d0
mov dword [esp], ebp
mov byte [esp + 4], 0x2b
call fcn.005837b0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
mov eax, dword [esp + 0x120]
mov eax, dword [eax]
mov ecx, dword [eax + 0x54]
mov eax, dword [eax + 0x50]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], ecx
lea eax, [0x7aa180]
mov dword [esp], eax
mov dword [esp + 4], 0x48
lea eax, [esp + 0x144]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004b5080
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov eax, dword [esp + 0x128]
mov ecx, dword [eax + 0x14]
mov ebx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov esi, dword [ebp + 0x5c]
mov edi, dword [ebp + 0x58]
mov ebp, dword [ebp + 0x54]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5886e8
mov ebp, dword [esp + 0x12c]
jmp 0x58859c
mov dword [esp + 0x104], eax
mov dword [esp + 0xa8], ecx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.005837b0
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x140], esi
mov dword [esp], ebp
mov byte [esp + 4], 0x2a
call fcn.005837b0
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1f4], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
lea edi, [ebp + 0x54]
mov eax, ecx
call fcn.0044c9e0
jmp 0x588586
mov eax, dword [esp + 0x138]
call fcn.0044c9e0
lea ecx, [edi + 4]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x134]
call fcn.0044c9e0
mov edi, edx
jmp 0x588470
mov dword [esp + 0xc8], ebp
xor edi, edi
jmp 0x5887bb
mov eax, dword [esp + 0x130]
add eax, 0xc
mov esi, eax
mov edi, ecx
mov dword [esp + 0x130], esi
mov dword [esp + 0x98], edi
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [esi + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0056d1a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test edx, edx
jne 0x58884a
mov ecx, dword [esp + 0x98]
mov ebx, dword [esp + 0xbc]
cmp ecx, ebx
jae 0x5889b7
mov ebp, dword [esp + 0x120]
lea edi, [ebp + ecx*4]
mov esi, dword [0xa8f2d0]
test esi, esi
jne 0x588843
mov dword [ebp + ecx*4], eax
inc ecx
mov esi, dword [esp + 0xc8]
cmp ecx, esi
jl 0x5887ad
mov eax, ebx
mov ecx, dword [esp + 0xc0]
mov edx, ebp
mov ebx, dword [esp + 0x128]
jmp 0x5883f1
call fcn.0044c9e0
jmp 0x588820
mov dword [esp + 0x10c], ecx
mov dword [esp + 0xb0], edx
mov eax, dword [esp + 0x12c]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.005837b0
mov eax, dword [esp + 0xb0]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x10c]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x7a5f1c]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x2e
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043bce0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xdc], 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 0x58890a
mov eax, dword [esp + 0xdc]
mov dword [edi], eax
lea eax, [0x7fe200]
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], edi
add esp, 0x1ec
ret
mov eax, dword [esp + 0xdc]
call fcn.0044c9e0
jmp 0x5888ef
mov ecx, edx
mov edx, 0
jmp 0x587114
mov dword [esp + 0x1f4], ecx
mov dword [esp + 0x1f8], eax
add esp, 0x1ec
ret
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.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.005870a0