Function at 0x593c30
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 0x595133
sub esp, 0x18c
mov eax, dword [esp + 0x190]
mov ecx, dword [eax]
mov dword [esp + 0x100], ecx
mov dword [esp], ecx
call fcn.0058f2c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x5950b5
lea eax, [0x7c7200]
cmp eax, ebx
jne 0x5950a9
mov ecx, edx
mov dword [esp + 0x110], edx
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x60], ebx
jne 0x593cb2
mov ebp, dword [edx + 0x10]
test ebp, ebp
jne 0x593dc2
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058e890
nop
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov eax, dword [esp + 0x60]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x130], eax
lea eax, [0x7c7200]
mov dword [esp + 0x134], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x138], eax
nop
lea eax, [0x82fc2f]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x12c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bd7c0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x78], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x78]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x593db4
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
mov eax, dword [esp + 0xb4]
call fcn.0044f0d0
jmp 0x593d99
mov dword [esp], edx
call fcn.005a04a0
mov eax, dword [esp + 0x190]
lea ecx, [eax + 0x10]
mov dword [esp + 0x108], ecx
mov dword [esp], ecx
call fcn.005b0570
mov eax, dword [esp + 0x100]
mov ecx, dword [eax + 0x28]
test ecx, ecx
je 0x595060
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0xc]
test edx, edx
jbe 0x59512c
mov edx, dword [eax + 0x48]
mov ebx, dword [eax + 0x4c]
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
test ebx, ebx
jbe 0x59512c
mov eax, dword [edx]
nop
mov edx, dword [eax]
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ecx
call fcn.00401fe0
movzx eax, byte [esp + 0x18]
test al, al
je 0x594ff8
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.0058f2c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x594fe3
lea ecx, [0x7c7380]
cmp ecx, ebx
jne 0x594fd7
mov ecx, eax
jne 0x594fce
mov ecx, dword [esp + 0x190]
mov edx, dword [ecx + 4]
movzx edx, byte [edx + 0x38]
test dl, dl
je 0x594f66
mov dword [esp + 0xf0], eax
mov dword [esp], eax
call fcn.005a15a0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
call fcn.005b0570
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov ebx, dword [esp + 0x100]
mov dword [ebx + 0x34], edx
mov dword [ebx + 0x38], ecx
mov ecx, dword [0xb91180]
test ecx, ecx
jne 0x594f59
mov dword [ebx + 0x30], eax
mov dword [esp], ebx
call fcn.0058f2c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x594f44
mov dword [esp + 0xc8], eax
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x190]
mov ebp, dword [ebx + 0xc]
mov edx, dword [ebp + 0x10]
mov ebp, dword [esp + 0x100]
movzx esi, word [ebp + 0x20]
mov word [esp], si
mov esi, dword [edx]
call esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea ebx, [0x7c7860]
mov ebp, dword [esp + 0x8c]
cmp ebx, ebp
jne 0x594f3a
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xd8], eax
mov dword [esp + 0x90], ecx
jne 0x594f2c
mov dword [esp + 0xcc], edx
nop
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
mov esi, dword [edx]
test esi, esi
je 0x594e44
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.005b0570
mov eax, dword [esp + 0x90]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x24]
mov ebp, dword [esp + 0x190]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 4]
mov ebp, dword [edx + 0x48]
mov eax, dword [edx + 0x4c]
test eax, eax
jbe 0x595109
mov eax, dword [ebp]
mov edx, dword [esp + 0xd8]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x14], eax
call ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x594dff
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.0058f2c0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 4]
test ecx, ecx
jne 0x594dea
lea eax, [0x7c72c0]
cmp eax, ebx
jne 0x594dde
mov eax, edx
mov dword [esp + 0xf8], edx
je 0x594cfb
xor ecx, ecx
xor ebp, ebp
lea esi, [0x7c77a0]
cmp esi, ebx
jne 0x594cef
mov edi, eax
jne 0x594bcd
mov dword [esp + 0xf4], ebp
mov byte [esp + 0x5f], cl
nop
lea eax, [0x7ac140]
mov dword [esp], eax
mov dword [esp + 4], 4
mov dword [esp + 8], 4
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov byte [eax], 0xe
mov ecx, dword [esp + 0x108]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], 4
call fcn.005b0570
movzx eax, byte [esp + 0x5f]
test al, al
jne 0x594b04
mov eax, dword [esp + 0x90]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x100]
mov edx, dword [ecx + 0x24]
mov ebx, dword [esp + 0x190]
mov ebp, dword [ebx + 8]
mov esi, dword [ecx + 0x48]
mov edi, dword [ecx + 0x4c]
test edi, edi
jbe 0x595102
mov ecx, dword [esi]
mov ebx, dword [esp + 0xd8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ecx
call eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov esi, dword [esp + 0x18]
test ebp, ebp
jne 0x594abf
mov dword [esp + 0x84], ecx
mov dword [esp + 0xc4], edx
mov dword [esp + 0x88], esi
test eax, eax
je 0x5941ce
mov dword [esp + 0xd4], eax
nop
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 4]
mov edi, dword [eax]
test edi, edi
je 0x5949d7
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
call fcn.005b0570
nop
mov eax, dword [esp + 0xd4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
test ebx, ebx
je 0x5948f1
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x16
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0058f1f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x5948dc
mov ecx, dword [esp + 0xf4]
test ecx, ecx
je 0x5941e4
mov edx, dword [ecx + 4]
test edx, edx
jg 0x594415
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [esp + 0x100]
movzx ebp, word [ebx + 0x20]
mov esi, dword [eax + 0xc]
mov edi, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0x10]
mov eax, dword [edx + 0x14]
mov dword [esp + 0xb0], eax
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0x18]
mov word [esp], bp
mov dword [esp + 4], esi
mov ebp, dword [esp + 0xc4]
mov dword [esp + 8], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0xc], ebp
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edx
call fcn.005afab0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x190]
mov dword [ebx + 0x48], ecx
mov dword [ebx + 0x4c], eax
mov ebp, dword [0xb91180]
test ebp, ebp
jne 0x594402
mov dword [ebx + 0x44], edx
mov ebp, dword [ebx + 8]
mov esi, dword [esp + 0x100]
mov edi, dword [esi + 0x24]
mov esi, dword [ebp + 0x14]
mov ebx, dword [ebp + 0x10]
mov ebp, dword [ebp + 0x18]
mov dword [esp], edi
lea edi, [0x817302]
mov dword [esp + 4], edi
mov dword [esp + 8], 0xd
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
call fcn.0058a220
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
test ecx, ecx
jne 0x594333
nop
mov ecx, dword [esp + 0x190]
mov dword [ecx + 0x34], 0
mov dword [ecx + 0x38], 0
mov edx, dword [0xb91180]
test edx, edx
jne 0x594327
mov dword [ecx + 0x30], 0
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], 0
add esp, 0x18c
ret
lea edi, [ecx + 0x30]
xor eax, eax
call fcn.0044f0d0
jmp 0x59430a
mov dword [esp + 0xe4], eax
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0xa0]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0xe4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp], 0
lea edx, [0x823baa]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x21
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043dbd0
nop
mov eax, dword [esp + 0x18]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xbc], ecx
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x74]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x5943f4
mov eax, dword [esp + 0xbc]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
mov eax, dword [esp + 0xbc]
call fcn.0044f0d0
jmp 0x5943d9
lea edi, [ebx + 0x44]
mov ebp, eax
mov eax, edx
call fcn.0044f0d0
mov eax, ebp
jmp 0x59428f
lea edi, [esp + 0x13c]
xor eax, eax
call fcn.0044f1c9
lea edi, [esp + 0x13c]
call fcn.0044f1c9
mov ecx, dword [esp + 0x100]
cmp word [ecx + 0x20], 0x303
setae dl
mov byte [esp + 0x148], dl
mov edx, dword [esp + 0xf4]
mov ebx, dword [edx + 0x10]
mov ebp, dword [edx + 0xc]
lea esi, [0x7c5640]
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00407e30
movzx ecx, byte [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test cl, cl
je 0x5947f6
mov dword [esp + 0xdc], edx
mov dword [esp + 0x94], ebx
mov eax, dword [ebx + 0x10]
mov dword [esp], edx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0xf8]
mov ebx, dword [edx + 0x20]
mov ebp, dword [edx + 0x24]
mov edx, dword [edx + 0x1c]
mov esi, dword [esp + 0x100]
movzx edi, word [esi + 0x20]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov eax, dword [0xb7dbcc]
mov ecx, dword [0xb7dbd0]
mov edx, dword [0xb7dbc8]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov word [esp + 0x20], di
call fcn.005863c0
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 0x5947b1
movzx eax, byte [esp + 0x148]
test al, al
je 0x594524
mov word [esp + 0x14a], dx
mov byte [esp + 0x5e], bl
mov dword [esp + 0x98], ebp
lea edi, [esp + 0x158]
mov esi, dword [esp + 0x108]
call fcn.0044f65e
mov eax, dword [esp + 0x190]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0xb0], ecx
mov edx, dword [eax + 0x48]
mov eax, dword [eax + 0x44]
mov edi, esp
lea esi, [esp + 0x158]
call fcn.0044f65e
mov byte [esp + 0x34], bl
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x44], eax
call fcn.005b0ee0
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
jne 0x59476c
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xec], ebp
mov eax, dword [esp + 0x98]
mov dword [esp], eax
call fcn.004078c0
mov eax, dword [esp + 4]
movzx ecx, byte [esp + 0x5e]
cmp cl, 0x12
je 0x59473f
lea ecx, [0x8b4410]
mov edx, dword [esp + 0x100]
mov ebx, dword [edx + 0x24]
nop
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
test ebx, ebx
je 0x59472e
mov edx, dword [esp + 0x94]
mov edx, dword [edx + 0x14]
mov esi, dword [esp + 0xdc]
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov ebx, dword [esp + 0xec]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
call edx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x150], ebx
mov dword [esp + 0x154], edx
mov dword [esp + 0x14c], ebp
test ecx, ecx
jne 0x5946e9
lea eax, [esp + 0x13c]
mov dword [esp], eax
call fcn.005a2c50
mov eax, dword [esp + 0x108]
mov dword [esp], eax
call fcn.005b0570
lea eax, [esp + 0x13c]
mov dword [esp], eax
call fcn.005a2c50
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x100]
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.0058f1f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x5941e4
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp + 0xe8], eax
mov dword [esp + 0x9c], ecx
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov ebp, dword [0xb7d444]
mov ebx, dword [0xb7d440]
jmp 0x5945f7
lea eax, [0x7cce20]
mov dword [esp], eax
call fcn.00409f80
mov eax, dword [esp + 4]
mov dword [eax], 0xffffffff
mov ecx, dword [esp + 0x98]
mov dword [eax + 4], ecx
lea ecx, [0x8b3750]
jmp 0x5945df
mov dword [esp + 0xe8], eax
mov dword [esp + 0x9c], ecx
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp + 0xe8], eax
mov dword [esp + 0x9c], ecx
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], ecx
nop
lea eax, [0x830308]
mov dword [esp], eax
mov dword [esp + 4], 0x4f
lea eax, [esp + 0x114]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xc0], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x80]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x5948ce
mov eax, dword [esp + 0xc0]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
mov eax, dword [esp + 0xc0]
call fcn.0044f0d0
jmp 0x5948b3
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xb0], ecx
lea edx, [0x7ac140]
mov dword [esp], edx
lea edx, [ecx + 4]
mov dword [esp + 0x68], edx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x68]
test ecx, ecx
jbe 0x5950df
mov byte [eax], 0x10
cmp ecx, 1
jbe 0x5950d8
mov edx, dword [esp + 0xb0]
mov ebx, edx
sar edx, 0x10
mov byte [eax + 1], dl
cmp ecx, 2
jbe 0x5950d1
mov edx, ebx
sar ebx, 8
mov byte [eax + 2], bl
cmp ecx, 3
jbe 0x5950ca
mov byte [eax + 3], dl
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, eax
mov edi, dword [esp + 0xd4]
mov ebp, dword [edi + 0x10]
mov esi, dword [edi + 0xc]
cmp ebx, ebp
jle 0x5949d3
mov dword [esp + 0x104], eax
cmp esi, edx
je 0x594998
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0044f8d0
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0xd4]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x5949c5
mov eax, dword [esp + 0x104]
mov dword [edi], eax
mov edx, ecx
mov ebx, eax
jmp 0x59419e
mov eax, dword [esp + 0x104]
call fcn.0044f0d0
jmp 0x5949bc
mov ebp, ebx
jmp 0x59497d
mov ecx, dword [eax + 0x10]
mov dword [esp + 0xb0], ecx
lea edx, [0x7ac140]
mov dword [esp], edx
lea ebx, [ecx + 4]
mov dword [esp + 0x70], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x70]
test ecx, ecx
jbe 0x5950fb
mov byte [eax], 0x10
cmp ecx, 1
jbe 0x5950f4
mov edx, dword [esp + 0xb0]
mov ebx, edx
sar edx, 0x10
mov byte [eax + 1], dl
cmp ecx, 2
jbe 0x5950ed
mov edx, ebx
sar ebx, 8
mov byte [eax + 2], bl
cmp ecx, 3
jbe 0x5950e6
mov byte [eax + 3], dl
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, eax
mov edi, dword [esp + 0xd4]
mov ebp, dword [edi + 0x10]
mov esi, dword [edi + 0xc]
cmp ebx, ebp
jle 0x594abb
mov dword [esp + 0x104], eax
cmp esi, edx
je 0x594a7e
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0044f8d0
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0xd4]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x594aad
mov eax, dword [esp + 0x104]
mov dword [edi], eax
mov ebp, ecx
mov ebx, ebp
mov edi, eax
jmp 0x59416b
mov eax, dword [esp + 0x104]
call fcn.0044f0d0
jmp 0x594aa2
mov ebp, ebx
jmp 0x594a63
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xa4], ebp
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
lea eax, [0x7cd000]
mov dword [esp], eax
call fcn.00409f80
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0xf4]
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 [0xb91180]
test edx, edx
jne 0x594bba
mov dword [eax + 0xc], ebp
mov dword [esp + 0xfc], eax
mov dword [esp], eax
call fcn.005a04a0
mov eax, dword [esp + 0x108]
mov dword [esp], eax
call fcn.005b0570
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call fcn.005a04a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0x100]
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.0058f1f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x5940d4
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
lea edi, [eax + 0xc]
mov edx, eax
mov eax, ebp
call fcn.0044f0d0
mov eax, edx
jmp 0x594b3c
mov dword [esp + 0xd0], eax
mov dword [esp + 0x64], ebx
mov dword [esp + 0x10c], edi
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058e890
nop
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov eax, dword [esp + 0x64]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x120], eax
lea eax, [0x7c77a0]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x128], eax
nop
lea eax, [0x82fc2f]
mov dword [esp], eax
mov dword [esp + 4], 0x49
lea eax, [esp + 0x11c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004bd7c0
mov eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xb8], ecx
nop
lea edx, [0x7c34e0]
mov dword [esp], edx
call fcn.00409f80
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x7c]
mov dword [edi + 4], eax
mov eax, dword [0xb91180]
test eax, eax
jne 0x594ce1
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
mov eax, dword [esp + 0xb8]
call fcn.0044f0d0
jmp 0x594cc6
mov edi, eax
mov eax, 0
jmp 0x59406d
mov dword [esp], edx
call fcn.005a2340
mov eax, dword [esp + 0x108]
mov dword [esp], eax
call fcn.005b0570
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call fcn.00596d70
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.005971a0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
test edx, edx
jne 0x594d99
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call fcn.0058f2c0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
test ebx, ebx
jne 0x594d84
mov edx, dword [esp + 0xf8]
mov ebx, ecx
mov ecx, 1
mov ebp, dword [esp + 0xf4]
jmp 0x59405d
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], edx
add esp, 0x18c
ret
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xa4], edx
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x50
call fcn.0058e890
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov eax, edx
mov edx, 0
jmp 0x59404c
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov dword [esp + 0xe0], eax
mov dword [esp + 0xa4], ecx
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058e890
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
mov eax, dword [edx + 0x10]
mov dword [esp + 0xb0], eax
lea ecx, [0x7ac140]
mov dword [esp], ecx
lea ebx, [eax + 4]
mov dword [esp + 0x6c], ebx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jbe 0x595125
mov byte [eax], 0xc
cmp ecx, 1
jbe 0x59511e
mov edx, dword [esp + 0xb0]
mov ebx, edx
sar edx, 0x10
mov byte [eax + 1], dl
cmp ecx, 2
jbe 0x595117
mov edx, ebx
sar ebx, 8
mov byte [eax + 2], bl
cmp ecx, 3
jbe 0x595110
mov byte [eax + 3], dl
mov ebx, edx
neg edx
sar edx, 0x1f
and edx, 4
add edx, eax
mov edi, dword [esp + 0xcc]
mov ebp, dword [edi + 0x10]
mov esi, dword [edi + 0xc]
cmp ebx, ebp
jle 0x594f28
mov dword [esp + 0x104], eax
cmp esi, edx
je 0x594eeb
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.0044f8d0
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0xcc]
mov dword [edi + 4], ecx
mov dword [edi + 8], ecx
mov edx, dword [0xb91180]
test edx, edx
jne 0x594f1a
mov eax, dword [esp + 0x104]
mov dword [edi], eax
mov ebp, ecx
mov ebx, ebp
mov esi, eax
jmp 0x593f91
mov eax, dword [esp + 0x104]
call fcn.0044f0d0
jmp 0x594f0f
mov ebp, ebx
jmp 0x594ed0
mov edx, dword [esp + 0xc8]
mov ebx, ebp
jmp 0x59403c
mov edx, 0
jmp 0x593f65
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], edx
add esp, 0x18c
ret
lea edi, [ebx + 0x30]
call fcn.0044f0d0
jmp 0x593ef3
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0xa
call fcn.0058e890
nop
lea eax, [0x7c34e0]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x32
mov eax, dword [0xb91180]
test eax, eax
jne 0x594fc1
lea eax, [0x82bc79]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
lea eax, [0x82bc79]
call fcn.0044f0d0
jmp 0x594fa6
mov eax, ecx
mov ecx, ebx
jmp 0x593f13
mov ecx, eax
mov eax, 0
jmp 0x593e8b
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], edx
add esp, 0x18c
ret
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov byte [esp + 4], 0x2a
call fcn.0058e890
nop
lea eax, [0x7c34e0]
mov dword [esp], eax
call fcn.00409f80
mov edi, dword [esp + 4]
mov dword [edi + 4], 0x33
mov eax, dword [0xb91180]
test eax, eax
jne 0x595053
lea eax, [0x82c0a3]
mov dword [edi], eax
lea eax, [0x8b3870]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edi
add esp, 0x18c
ret
lea eax, [0x82c0a3]
call fcn.0044f0d0
jmp 0x595038
mov ecx, dword [esp + 0x110]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x14]
mov ecx, dword [ecx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call fcn.005967b0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x593e54
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
add esp, 0x18c
ret
mov ecx, edx
mov edx, 0
jmp 0x593c93
mov dword [esp + 0x194], ecx
mov dword [esp + 0x198], eax
add esp, 0x18c
ret
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.004287c0
ud2
call fcn.0044d880
jmp fcn.00593c30