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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x5ca39e
sub esp, 0x110
mov eax, 0
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0x10c], eax
mov byte [esp + 0x33], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov eax, dword [0x81b530]
test eax, eax
je 0x5c93db
lea eax, [0x6895c8]
mov dword [esp + 0x10c], eax
lea eax, [esp + 0x11c]
mov dword [esp + 0x108], eax
lea eax, [esp + 0x120]
mov dword [esp + 0x104], eax
mov byte [esp + 0x33], 1
mov eax, dword [esp + 0x118]
setne cl
mov byte [esp + 0x32], cl
mov edx, dword [eax + 8]
test edx, edx
jne 0x5c9580
nop
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test edx, edx
jne 0x5c956e
mov eax, dword [esp + 0x118]
mov edx, dword [eax + 4]
mov eax, dword [eax]
test edx, edx
jne 0x5c9516
lea eax, [0x66ea43]
mov edx, 3
mov dword [esp + 0x38], edx
mov dword [esp + 0x5c], eax
lea ecx, [0x63eca0]
mov dword [esp], ecx
call fcn.0040b4f0
mov eax, dword [esp + 4]
mov dword [esp + 0xa0], eax
mov dword [eax + 4], 0x15
lea ecx, [0x675945]
mov dword [eax], ecx
lea ecx, [0x64d6a0]
mov dword [esp], ecx
call fcn.0040b4f0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov dword [edi + 4], eax
mov eax, dword [0x8326a0]
test eax, eax
jne 0x5c9508
mov ecx, dword [esp + 0x5c]
mov dword [edi], ecx
lea ecx, [0x6c8150]
mov dword [edi + 0x10], ecx
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x5c94ef
mov eax, dword [esp + 0xa0]
mov dword [edi + 0x14], eax
mov dword [esp + 0x11c], 0
lea eax, [0x6c84d0]
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], edi
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5c94cc
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5c94c5
lea ecx, [edi + 0x14]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0xa0]
call fcn.0045ace0
mov edi, edx
jmp 0x5c949c
mov eax, dword [esp + 0x5c]
call fcn.0045ace0
jmp 0x5c947f
mov dword [esp + 0x70], eax
lea ecx, [edx - 1]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add ecx, eax
mov dword [esp], ecx
mov dword [esp + 4], edx
call fcn.004baa90
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00445d20
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
jmp 0x5c9422
mov ecx, dword [edx + 0x10]
mov dword [esp], eax
call ecx
movzx ecx, byte [esp + 0x32]
jmp 0x5c9403
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call fcn.005c7e70
lea esi, [esp + 4]
lea edi, [esp + 0xdc]
call fcn.0045b46e
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0x68], 0
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
call fcn.005ca3b0
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
mov byte [esp + 0x2f], 0
lea edi, [esp + 0xf0]
xor eax, eax
call fcn.0045af8b
lea eax, [0x5f7120]
mov dword [esp + 0xf0], eax
lea eax, [esp + 0x2f]
mov dword [esp + 0xf4], eax
lea eax, [esp + 0x118]
mov dword [esp + 0xf8], eax
lea eax, [esp + 0x68]
mov dword [esp + 0xfc], eax
lea eax, [esp + 0xac]
mov dword [esp + 0x100], eax
lea edi, [esp + 8]
mov dword [esp + 0x9c], edi
xor eax, eax
xor ecx, ecx
xor edx, edx
jmp 0x5c965d
mov edi, dword [esp + 0x9c]
mov ecx, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
test ebx, ebx
jg 0x5c99f5
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
lea ebp, [ecx + 1]
cmp ebx, ebp
jb 0x5c99b1
lea ebx, [ecx + 1]
mov dword [esp + 0xb0], ebx
mov ebx, dword [0x8326a0]
mov eax, dword [esp + 0x118]
lea ebp, [edx + ecx*4]
test ebx, ebx
jne 0x5c99a1
mov dword [edx + ecx*4], eax
mov eax, dword [esp + 0x114]
mov dword [esp], eax
mov ecx, dword [esp + 0x118]
mov dword [esp + 4], ecx
lea esi, [esp + 0xdc]
call fcn.0045b46e
call fcn.005c7d00
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
test eax, eax
jne 0x5c97d9
mov edx, dword [esp + 0x118]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xac]
test ebp, ebp
jbe 0x5ca35c
mov eax, dword [esi]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.005c91f0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
movzx ebx, byte [esp + 0x19]
test al, al
je 0x5c9784
mov ebp, dword [esp + 0x118]
mov eax, ecx
mov ecx, dword [ebp + 0x20]
mov ebp, dword [ebp + 0x24]
test ecx, ecx
je 0x5c9652
mov byte [esp + 0x30], bl
mov dword [esp + 0x40], edx
mov dword [esp + 0x98], eax
mov eax, dword [ecx + 0x10]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x40]
movzx ebx, byte [esp + 0x30]
jmp 0x5c9652
mov eax, dword [esp + 0x68]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5c97b6
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5c97af
mov byte [esp + 0x2f], 1
lea edi, [esp + 0xc8]
lea esi, [esp + 0xdc]
call fcn.0045b46e
mov ecx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xcc]
test ebp, 0x80000000
je 0x5c998c
shl ebp, 1
mov esi, ecx
shr ecx, 0x1f
or ecx, ebp
mov ebp, esi
shl esi, 1
mov edi, ecx
shl ecx, 1
shr esi, 0x1f
or esi, ecx
mov ecx, esi
add esi, 0xd7b17f80
shr edi, 0x1f
add ecx, 0xd7b17f80
adc edi, 0xd
mov dword [esp + 0x80], ebx
mov dword [esp + 0x50], eax
test esi, esi
sete cl
test edi, edi
xchg esi, ebx
sete bl
xchg esi, ebx
and esi, ecx
xchg esi, eax
test al, al
xchg esi, eax
je 0x5c98ca
test ebp, 0x3fffffff
jne 0x5c98ca
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5c98a7
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5c98a0
mov eax, dword [edx]
call eax
movzx eax, byte [esp]
test al, al
jne 0x5c98e6
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x80]
jmp 0x5c985e
mov eax, dword [esp + 0x50]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x54], ecx
lea edx, [0x645a40]
mov dword [esp], edx
call fcn.0040b4f0
mov eax, dword [esp + 4]
mov dword [esp + 0x94], eax
mov dword [esp], 0
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], ecx
lea ecx, [0x6800e5]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x31
call fcn.00445d20
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x94]
mov dword [edi + 4], ecx
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x5c9985
mov dword [edi], eax
mov byte [edi + 8], 1
lea eax, [0x6c8410]
mov ebx, edi
jmp 0x5c985e
call fcn.0045ace0
jmp 0x5c9974
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xd4]
mov ebp, ecx
jmp 0x5c9835
mov ecx, edi
mov edi, ebp
call fcn.0045ace0
mov edi, ecx
jmp 0x5c96b1
lea eax, [0x668700]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
call fcn.004429e0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xb4], eax
mov dword [esp + 0xac], edx
mov edi, dword [esp + 0x9c]
jmp 0x5c968c
mov dword [esp + 0x6c], eax
mov dword [esp + 0x54], ecx
mov byte [esp + 0x31], dl
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x1c]
mov dword [esp], eax
lea eax, [0x66f7fc]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.005a9500
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x5ca25b
mov dword [esp + 0x44], eax
mov dword [esp + 0x74], ecx
mov edx, dword [esp + 0x118]
mov edx, dword [edx + 8]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0055f230
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x14]
test eax, eax
jne 0x5ca114
mov dword [esp + 0x64], ecx
mov edx, dword [esp + 0x118]
mov ebx, dword [edx + 0x48]
mov ebp, dword [edx + 0x44]
test ebx, ebx
je 0x5ca10d
mov edx, dword [edx + 8]
mov esi, dword [edx + 0x14]
cmp dword [edx + 0x18], ebx
je 0x5ca0ec
mov eax, 1
test al, al
jne 0x5ca0a9
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
test ebx, ebx
jbe 0x5ca388
mov dword [esp + 0x7c], eax
mov dword [esp + 0x48], edx
mov eax, dword [ebp]
mov dword [esp + 0x78], eax
call fcn.0040bf90
mov eax, dword [esp]
mov dword [esp + 0x90], eax
lea ecx, [0x664d00]
mov dword [esp], ecx
call fcn.0040b4f0
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x54]
mov dword [edi + 4], eax
mov eax, dword [0x8326a0]
test eax, eax
jne 0x5ca09b
mov ecx, dword [esp + 0x6c]
mov dword [edi], ecx
mov ecx, dword [0x8326a0]
mov eax, dword [esp + 0x68]
test ecx, ecx
jne 0x5ca06d
mov dword [edi + 0x74], eax
mov ecx, dword [esp + 0x64]
mov dword [edi + 8], ecx
mov ecx, dword [esp + 0x90]
mov dword [edi + 0x1c], ecx
mov ecx, dword [esp + 0x48]
mov dword [edi + 0x48], ecx
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x5ca054
mov ecx, dword [esp + 0x7c]
mov dword [edi + 0x44], ecx
mov ecx, dword [0x8326a0]
mov ebx, dword [esp + 0x78]
mov eax, dword [ebx + 0x70]
test ecx, ecx
jne 0x5ca041
mov dword [edi + 0x70], eax
mov eax, dword [ebx + 0x7c]
mov ecx, dword [ebx + 0x78]
mov dword [edi + 0x78], ecx
mov ecx, dword [0x8326a0]
test ecx, ecx
jne 0x5ca02e
mov dword [edi + 0x7c], eax
mov dword [esp + 0x118], edi
movzx eax, byte [esp + 0x31]
test al, al
je 0x5c9b91
mov edx, dword [ebx + 0x28]
test edx, edx
jne 0x5c9f34
mov eax, dword [esp + 0x118]
mov dword [esp], eax
mov edx, dword [esp + 0x88]
mov eax, dword [edx]
call eax
mov ecx, dword [esp + 0xb0]
mov eax, dword [esp + 0xac]
lea ebx, [ecx - 1]
cmp ebx, ecx
jae 0x5ca381
mov eax, dword [eax + ecx*4 - 4]
mov ecx, dword [esp + 0x118]
mov eax, dword [eax + 8]
mov ecx, dword [ecx + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.005c7bf0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
test eax, eax
jne 0x5c9e4f
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x118]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x114]
mov edi, dword [esi + 8]
test edi, edi
je 0x5c9e44
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov eax, dword [edi]
mov edx, edi
call eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x58], ecx
cmp dword [0x81bc98], eax
je 0x5c9dc3
mov edx, dword [esp + 0x68]
mov ebx, dword [edx + 0x2c]
cmp ebx, 0xffffffff
xchg ebp, ebx
sete bl
xchg ebp, ebx
mov esi, dword [edx + 0x28]
cmp esi, 0xffffffff
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5c9d97
mov eax, dword [edx + 0x20]
mov ecx, dword [edx + 0x24]
lea edx, [0x63bd20]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408e60
mov eax, dword [0x815d20]
mov ecx, dword [0x815d24]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0x800
mov dword [esp + 0x14], 0
call fcn.00489dd0
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x5c9cef
mov edi, dword [esp + 0x9c]
jmp 0x5c966c
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
lea ebx, [0x6c84d0]
cmp ebx, ecx
jne 0x5ca365
mov edx, dword [esp + 0x44]
mov dword [eax + 0xc], edx
mov edx, dword [0x8326a0]
test edx, edx
jne 0x5c9d85
mov edx, dword [esp + 0x74]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ecx
mov dword [esp + 0x124], eax
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5c9d62
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5c9d5b
lea edi, [eax + 8]
mov edx, eax
mov eax, dword [esp + 0x74]
call fcn.0045ace0
mov eax, edx
jmp 0x5c9d38
cmp esi, 0x800
xchg ebp, ebx
setbe bl
xchg ebp, ebx
test ebx, ebx
sete bl
xchg esi, ebx
setl bl
xchg esi, ebx
and ebp, ebx
or esi, ebp
xchg esi, eax
test al, al
xchg esi, eax
jne 0x5c9c75
jmp 0x5c9cc9
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0x81bc9c]
mov dword [esp + 8], edx
call fcn.00403830
movzx eax, byte [esp + 0xc]
test al, al
jne 0x5c9def
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x58]
jmp 0x5c9c4b
mov eax, dword [esp + 0x68]
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5c9e21
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5c9e1a
lea edi, [0x689638]
jmp 0x5c9c1a
mov dword [esp + 0x60], ecx
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x118]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x90], eax
nop
lea ecx, [0x66f44c]
mov dword [esp], ecx
mov dword [esp + 4], 7
call fcn.005aa8c0
mov eax, dword [esp + 8]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x54], ecx
lea edx, [0x62e640]
mov dword [esp], edx
call fcn.0040b4f0
mov edi, dword [esp + 4]
mov dword [esp + 0x8c], edi
mov eax, dword [esp + 0x3c]
mov dword [edi + 4], eax
mov eax, dword [0x8326a0]
test eax, eax
jne 0x5c9f29
mov eax, dword [esp + 0x60]
mov dword [edi], eax
lea eax, [0x659f80]
mov dword [esp], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc], ecx
call fcn.0040ff70
mov edi, dword [esp + 0x10]
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov eax, dword [0x8326a0]
test eax, eax
jne 0x5c9f18
mov eax, dword [esp + 0x8c]
mov dword [edi], eax
jmp 0x5c9bec
mov eax, dword [esp + 0x8c]
call fcn.0045ace0
jmp 0x5c9bec
mov eax, dword [esp + 0x60]
call fcn.0045ace0
jmp 0x5c9ec2
mov eax, dword [edx]
call eax
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 4]
mov ebp, dword [esp]
mov esi, dword [esp + 0xc]
mov dword [eax + 0x20], ebp
mov ebp, dword [0x8326a0]
test ebp, ebp
jne 0x5ca01f
mov dword [eax + 0x24], ebx
test ecx, ecx
jne 0x5c9f82
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x78]
mov ebx, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x30]
mov dword [eax + 0x2c], ebx
mov dword [eax + 0x30], ecx
jmp 0x5c9b91
mov eax, dword [esp + 0x68]
mov ebx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test ebx, ebx
jne 0x5c9ffc
mov dword [esp], ecx
mov dword [esp + 4], esi
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5c9fd9
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5c9fd2
mov dword [esp + 0x84], esi
mov dword [esp + 0x4c], ecx
mov ecx, dword [ebx + 0x10]
mov dword [esp], eax
call ecx
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x84]
jmp 0x5c9f90
lea edi, [eax + 0x24]
mov eax, ebx
call fcn.0045ace0
jmp 0x5c9f62
lea ecx, [edi + 0x7c]
mov edx, edi
mov edi, ecx
call fcn.0045ace0
mov edi, edx
jmp 0x5c9b76
lea ecx, [edi + 0x70]
mov edx, edi
mov edi, ecx
call fcn.0045ace0
mov edi, edx
jmp 0x5c9b5c
lea ecx, [edi + 0x44]
mov eax, edi
mov edi, ecx
mov edx, eax
mov eax, dword [esp + 0x7c]
call fcn.0045ace0
mov edi, edx
jmp 0x5c9b44
lea ecx, [edi + 0x74]
mov edx, edi
mov edi, ecx
call fcn.0045ace0
lea edi, [edx + 8]
mov eax, dword [esp + 0x64]
call fcn.0045ace0
lea edi, [edx + 0x1c]
mov eax, dword [esp + 0x90]
call fcn.0045ace0
mov edi, edx
jmp 0x5c9b28
mov eax, dword [esp + 0x6c]
call fcn.0045ace0
jmp 0x5c9b02
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x44]
mov dword [esp + 4], ecx
call fcn.0055cb10
mov eax, dword [esp + 8]
test eax, eax
je 0x5ca0cc
mov edx, dword [eax + 4]
test edx, edx
je 0x5ca0dd
xor eax, eax
xor ecx, ecx
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x64]
jmp 0x5c9aa1
mov edx, dword [esp + 0x118]
mov ecx, dword [edx + 0x44]
mov eax, dword [edx + 0x48]
jmp 0x5ca0d0
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
call fcn.00402950
movzx eax, byte [esp + 0xc]
xor eax, 1
mov ecx, dword [esp + 0x64]
jmp 0x5c9a95
xor eax, eax
jmp 0x5c9a95
mov dword [esp + 0x84], edx
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0x68]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
test ebx, ebx
jne 0x5ca24e
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call fcn.00408c10
mov eax, dword [esp + 8]
lea ecx, [0x633ac0]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x5ca194
mov eax, dword [eax + 4]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc4], eax
lea eax, [0x67d1c7]
mov dword [esp], eax
mov dword [esp + 4], 0x26
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a95f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5ca22b
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5ca224
mov eax, dword [ebx + 0x10]
mov dword [esp], ecx
call eax
jmp 0x5ca131
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
test ecx, ecx
jne 0x5ca34f
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00408b00
mov eax, dword [esp + 4]
lea ecx, [0x633240]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
lea eax, [0x67bf01]
mov dword [esp], eax
mov dword [esp + 4], 0x23
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a95f0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xf0]
lea edx, [esp + 0xf0]
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], ecx
movzx eax, byte [esp + 0x32]
test al, 1
jne 0x5ca32c
add esp, 0x110
ret
and eax, 0xfffffffe
mov byte [esp + 0x33], al
mov eax, dword [esp + 0x108]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.005f70d0
jmp 0x5ca325
mov ecx, dword [ecx + 0x10]
mov dword [esp], eax
call ecx
jmp 0x5ca26d
xor eax, eax
mov ecx, ebp
call fcn.0045ad60
mov dword [esp], ecx
lea eax, [0x652a20]
mov dword [esp + 4], eax
lea eax, [0x63b9c0]
mov dword [esp + 8], eax
call fcn.00408960
mov eax, ebx
call fcn.0045ad60
xor eax, eax
mov ecx, ebx
call fcn.0045ad60
nop
call fcn.0042fd30
add esp, 0x110
ret
call fcn.00459790
jmp fcn.005c9340