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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x5c]
cmp eax, dword [ecx + 8]
jbe 0x5cb21a
sub esp, 0xdc
mov eax, dword [esp + 0xe0]
mov dword [eax + 0x44], 0
mov ecx, dword [eax + 0x28]
lea edx, [0x69daa0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x13d
call fcn.0040ec00
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jne 0x5c988c
xor eax, eax
jmp 0x5c988e
mov eax, dword [eax]
cmp eax, 2
jne 0x5c99ca
mov eax, dword [esp + 0xe0]
mov ecx, dword [eax + 0x24]
cmp ecx, 1
je 0x5c99a9
cmp ecx, 8
je 0x5c9950
cmp ecx, 0x10
je 0x5c98db
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf4]
mov ebx, eax
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
jmp 0x5c99ca
mov ecx, dword [eax + 0x28]
lea edx, [0x69daa0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x102
call fcn.0040ec00
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0xbc], eax
mov ecx, eax
shl eax, 1
mov dword [esp + 0x94], eax
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
mov dword [esp + 0xc8], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xc8]
jmp 0x5cafd8
mov ecx, dword [eax + 0x28]
lea edx, [0x69daa0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x102
call fcn.0040ec00
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf0]
mov edi, esi
xor esi, esi
mov dword [esp + 0x84], esi
mov esi, edi
jmp 0x5caed8
lea eax, [0x785df4]
mov dword [esp + 0xfc], eax
lea eax, [0x784a90]
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf4]
cmp ecx, eax
jle 0x5c99f1
mov ecx, eax
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0xe4]
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xf8]
cmp ecx, eax
jle 0x5c9a1c
mov ecx, eax
mov dword [esp + 0x2c], ecx
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x20]
cmp ebp, 3
jg 0x5c9b02
cmp ebp, 1
jne 0x5c9a6a
mov edx, dword [0x7869b8]
mov ebp, dword [esp + 0xe4]
lea esi, [0x7869b4]
cmp ebp, esi
jne 0x5caea5
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0xf0]
jmp 0x5cad20
cmp ebp, 2
jl 0x5c9c76
mov ebp, dword [ebx + 0x24]
cmp ebp, 0x10
jne 0x5c9aad
mov ebp, dword [0x786964]
mov esi, dword [esp + 0xe4]
lea edi, [0x786960]
cmp esi, edi
jne 0x5cacf8
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
jmp 0x5cab94
mov edx, dword [0x786948]
mov esi, dword [esp + 0xe4]
lea edi, [0x786944]
cmp esi, edi
jne 0x5cab7b
cmp ebp, 0x20
sbb edx, edx
mov eax, ecx
mov ecx, ebp
mov esi, 1
shl esi, cl
and esi, edx
mov dword [esp + 0xb8], esi
lea edx, [esi - 1]
mov dword [esp + 0x98], edx
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
jmp 0x5ca9b9
cmp ebp, 4
jne 0x5c9b7f
cmp dword [ebx + 0x24], 0x10
jne 0x5c9b3f
mov ebp, dword [0x7869f0]
mov esi, dword [esp + 0xe4]
lea edi, [0x7869ec]
cmp esi, edi
jne 0x5ca98d
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
jmp 0x5ca75c
mov edx, dword [0x7869d4]
mov ebp, dword [esp + 0xe4]
lea esi, [0x7869d0]
cmp ebp, esi
jne 0x5ca743
mov edx, dword [esp + 0xe8]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
jmp 0x5ca568
cmp ebp, 5
jne 0x5c9bfc
cmp dword [ebx + 0x24], 0x10
jne 0x5c9bbc
mov ebp, dword [0x7869f0]
mov esi, dword [esp + 0xe4]
lea edi, [0x7869ec]
cmp esi, edi
jne 0x5ca530
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
jmp 0x5ca28e
mov ebp, dword [0x7869d4]
mov esi, dword [esp + 0xe4]
lea edi, [0x7869d0]
cmp esi, edi
jne 0x5ca275
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xf4]
jmp 0x5ca127
cmp ebp, 6
jne 0x5c9c76
cmp dword [ebx + 0x24], 0x10
jne 0x5c9c39
mov ebp, dword [0x78699c]
mov esi, dword [esp + 0xe4]
lea edi, [0x786998]
cmp esi, edi
jne 0x5ca0e1
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
jmp 0x5c9e3f
mov ebp, dword [0x786980]
mov esi, dword [esp + 0xe4]
lea edi, [0x78697c]
cmp esi, edi
jne 0x5c9e26
mov ebp, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0xf4]
jmp 0x5c9cc3
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
add esp, 0xdc
ret
mov edx, dword [esp + 0x3c]
lea ebp, [edx + 1]
mov edx, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov ebx, dword [esp + 0x30]
mov eax, ebx
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xe0]
cmp ebp, ecx
jge 0x5c9c76
mov dword [esp + 0x3c], ebp
nop
nop
sub edx, edi
mov edi, dword [esp + 0xf0]
sub ebp, edi
mov dword [esp + 0xbc], ebp
imul ebp, edx
mov dword [esp + 0xb4], ebp
mov edi, dword [esp + 0xbc]
inc edi
imul edi, edx
shl edi, 2
mov edx, dword [ebx + 0x40]
mov ebp, dword [ebx + 0x38]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esi + 0x14]
mov ebx, dword [esp + 0x3c]
sub ebx, ebp
imul ebx, dword [esi + 0xc]
mov ebp, dword [esi + 0x10]
mov esi, dword [esp + 0xec]
sub esi, ebp
lea esi, [ebx + esi*4]
sub eax, ebp
lea ebx, [ebx + eax*4]
mov ebp, dword [esp + 0xe0]
cmp dword [ebp + 0x3c], edi
jl 0x5c9dcd
mov dword [esp + 0xa0], edi
mov eax, ebp
mov ebp, dword [esp + 0xe8]
mov edi, dword [ebp + 8]
mov ebp, dword [ebp]
cmp edi, ebx
jb 0x5c9e1d
cmp ebx, esi
jb 0x5c9e14
sub ebx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
add ebp, esi
mov esi, dword [esp + 0xa0]
cmp edx, esi
jb 0x5c9e0d
mov edi, dword [esp + 0xb4]
shl edi, 2
cmp esi, edi
jb 0x5c9e04
sub esi, edi
sub edx, edi
neg edx
sar edx, 0x1f
and edi, edx
mov edx, ebp
mov ebp, dword [esp + 0xd8]
add ebp, edi
cmp esi, ebx
jl 0x5c9da5
mov esi, ebx
cmp ebp, edx
je 0x5c9c93
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004666e0
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x2c]
jmp 0x5c9c93
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, esi
mov ecx, ebx
call fcn.00465e60
mov ecx, ebx
mov edx, edi
call fcn.00465e40
mov dword [esp], esi
mov dword [esp + 4], ebp
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
inc edi
mov esi, eax
cmp edi, ecx
jge 0x5c9c76
mov dword [esp + 0x40], edi
mov eax, esi
jmp 0x5c9f03
mov word [esp + 0x26], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffa
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, edi
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
add dword [ecx + 0x44], 8
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov ebx, dword [esp + 0x60]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x40]
mov dword [esp + 8], ebp
movzx esi, word [esp + 0x1a]
mov word [esp + 0xc], si
movzx esi, word [esp + 0x20]
mov word [esp + 0xe], si
movzx esi, word [esp + 0x26]
mov word [esp + 0x10], si
mov word [esp + 0x12], ax
call fcn.004bc470
mov eax, dword [esp + 0x60]
lea esi, [eax + 1]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x40]
cmp esi, ebp
jge 0x5c9e3c
mov dword [esp + 0x60], esi
mov ebp, dword [ebx + 0x44]
lea edi, [ebp + 8]
mov esi, dword [ebx + 0x40]
mov dword [esp + 0xbc], esi
mov esi, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], edi
jl 0x5ca068
mov dword [esp + 0xd8], esi
lea edi, [ebp + 2]
mov esi, dword [esp + 0xbc]
cmp esi, edi
jb 0x5ca0d8
cmp ebp, edi
ja 0x5ca0cf
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], ecx
sub esi, ebp
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov edx, dword [esp + 0xd8]
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ecx
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 4]
cmp edx, esi
jb 0x5ca0c8
lea edi, [ebp + 2]
cmp esi, edi
jb 0x5ca0bf
mov word [esp + 0x1a], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffe
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, edi
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 6]
cmp edx, esi
jb 0x5ca0b8
lea edi, [ebp + 4]
cmp esi, edi
jb 0x5ca0af
mov word [esp + 0x20], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffc
mov ebp, edx
neg edx
sar edx, 0x1f
and edi, edx
lea edx, [ebx + edi]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 8]
cmp edx, esi
jb 0x5ca0a8
lea edi, [ebp + 6]
cmp esi, edi
jae 0x5c9e52
jmp 0x5ca09f
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, ebp
mov ecx, edi
call fcn.00465e60
mov ecx, edi
mov edx, esi
call fcn.00465e40
mov dword [esp], esi
mov dword [esp + 4], ebp
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
mov eax, dword [esp + 0x34]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xf0]
mov esi, dword [esp + 0xe8]
mov edi, dword [esp + 0xec]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xe0]
mov eax, edx
mov edx, dword [esp + 0xf4]
cmp ebp, ecx
jge 0x5c9c76
mov dword [esp + 0x34], ebp
nop
nop
sub edx, edi
mov edi, dword [esp + 0xf0]
sub ebp, edi
mov dword [esp + 0xbc], ebp
imul ebp, edx
mov dword [esp + 0xb4], ebp
mov edi, dword [esp + 0xbc]
inc edi
imul edi, edx
shl edi, 2
mov dword [esp + 0x9c], edi
mov edx, dword [ebx + 0x40]
mov ebp, dword [ebx + 0x38]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esi + 0x14]
mov ebx, dword [esp + 0x34]
sub ebx, ebp
mov ebp, dword [esi + 0x10]
mov edi, dword [esp + 0xec]
sub edi, ebp
imul ebx, dword [esi + 0xc]
lea edi, [ebx + edi*4]
sub eax, ebp
lea ebx, [ebx + eax*4]
mov ebp, dword [esp + 0x9c]
mov eax, edi
mov edi, dword [esp + 0xe0]
cmp dword [edi + 0x3c], ebp
jl 0x5ca220
mov edi, dword [esi + 8]
mov esi, dword [esi]
cmp edi, ebx
jb 0x5ca26c
cmp ebx, eax
jb 0x5ca265
sub ebx, eax
sub edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
add esi, eax
cmp edx, ebp
jb 0x5ca25e
mov eax, dword [esp + 0xb4]
shl eax, 2
cmp ebp, eax
jb 0x5ca257
sub ebp, eax
sub edx, eax
neg edx
sar edx, 0x1f
and eax, edx
mov edi, dword [esp + 0xd8]
add edi, eax
cmp ebp, ebx
jl 0x5ca1ff
mov ebp, ebx
cmp edi, esi
je 0x5ca0f7
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call fcn.004666e0
mov ecx, dword [esp + 0x2c]
jmp 0x5ca0f7
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov ecx, ebp
call fcn.00465e60
mov ecx, ebp
call fcn.00465e40
mov ecx, ebx
call fcn.00465e60
mov ecx, ebx
mov edx, edi
call fcn.00465e40
mov dword [esp], esi
mov dword [esp + 4], ebp
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
inc edi
mov esi, eax
cmp edi, ecx
jge 0x5c9c76
mov dword [esp + 0x38], edi
mov eax, esi
jmp 0x5ca352
mov word [esp + 0x24], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffa
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, edi
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
add dword [ecx + 0x44], 8
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x38]
mov dword [esp + 8], ebp
movzx esi, word [esp + 0x18]
mov word [esp + 0xc], si
movzx esi, word [esp + 0x1e]
mov word [esp + 0xe], si
movzx esi, word [esp + 0x24]
mov word [esp + 0x10], si
mov word [esp + 0x12], ax
call fcn.004bb6d0
mov eax, dword [esp + 0x5c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x38]
cmp esi, ebp
jge 0x5ca28b
mov dword [esp + 0x5c], esi
mov ebp, dword [ebx + 0x44]
lea edi, [ebp + 8]
mov esi, dword [ebx + 0x40]
mov dword [esp + 0xbc], esi
mov esi, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], edi
jl 0x5ca4b7
mov dword [esp + 0xd8], esi
lea edi, [ebp + 2]
mov esi, dword [esp + 0xbc]
cmp esi, edi
jb 0x5ca527
cmp ebp, edi
ja 0x5ca51e
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], ecx
sub esi, ebp
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov edx, dword [esp + 0xd8]
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ecx
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 4]
cmp edx, esi
jb 0x5ca517
lea edi, [ebp + 2]
cmp esi, edi
jb 0x5ca50e
mov word [esp + 0x18], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffe
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, edi
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 6]
cmp edx, esi
jb 0x5ca507
lea edi, [ebp + 4]
cmp esi, edi
jb 0x5ca4fe
mov word [esp + 0x1e], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffc
mov ebp, edx
neg edx
sar edx, 0x1f
and edi, edx
lea edx, [ebx + edi]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 8]
cmp edx, esi
jb 0x5ca4f7
lea edi, [ebp + 6]
cmp esi, edi
jae 0x5ca2a1
jmp 0x5ca4ee
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, ebp
mov ecx, edi
call fcn.00465e60
mov ecx, edi
mov edx, esi
call fcn.00465e40
mov dword [esp], esi
mov dword [esp + 4], ebp
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
mov ebx, dword [esp + 0x44]
inc ebx
mov ebp, dword [esp + 0xec]
mov edi, dword [esp + 0x30]
mov esi, edi
mov edi, dword [esp + 0xf4]
mov eax, ebx
mov ebx, dword [esp + 0xe0]
cmp eax, ecx
jge 0x5c9c76
mov dword [esp + 0x44], eax
nop
nop
mov ebx, dword [esp + 0xf0]
sub eax, ebx
sub edi, ebp
imul eax, edi
lea edi, [eax + eax*2]
mov dword [esp + 0x80], edi
mov eax, ebx
mov ebx, dword [edx + 0x10]
mov dword [esp + 0xbc], ebx
sub ebp, ebx
mov edi, dword [edx + 0x14]
mov ebx, dword [esp + 0x44]
sub ebx, edi
imul ebx, dword [edx + 0xc]
lea ebp, [ebx + ebp*4]
mov edi, dword [esp + 0xbc]
sub esi, edi
lea ebx, [ebx + esi*4]
mov dword [esp + 0x28], ebx
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0x80]
jmp 0x5ca5ec
mov byte [edx + esi + 3], 0xff
lea ebp, [edx + 4]
mov edx, dword [esp + 0x28]
mov esi, dword [esp + 0xe0]
mov edi, dword [esp + 0xbc]
mov edx, ebx
mov ebx, dword [esp + 0x28]
cmp ebp, ebx
jge 0x5ca546
mov dword [esp + 0xa4], ebp
lea ebx, [edi + 3]
mov ebp, dword [esi + 0x3c]
mov esi, dword [esi + 0x38]
cmp ebp, ebx
jl 0x5ca6cd
cmp edi, ebp
jae 0x5ca73a
mov dword [esp + 0xbc], ebx
mov ebp, dword [edx + 4]
mov ebx, dword [edx]
movzx esi, byte [edi + esi]
mov edx, dword [esp + 0xa4]
cmp edx, ebp
jae 0x5ca731
xchg esi, eax
mov byte [ebx + edx], al
xchg esi, eax
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x3c]
mov esi, dword [ebx + 0x38]
lea ebx, [edi + 1]
cmp ebp, ebx
jbe 0x5ca728
mov ebx, dword [esp + 0xe8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
inc edx
movzx esi, byte [edi + esi + 1]
cmp ebp, edx
jbe 0x5ca71f
mov edx, dword [esp + 0xa4]
xchg esi, eax
mov byte [edx + ebx + 1], al
xchg esi, eax
mov ebx, dword [esp + 0xe0]
mov ebp, dword [ebx + 0x3c]
mov esi, dword [ebx + 0x38]
lea ebx, [edi + 2]
cmp ebp, ebx
jbe 0x5ca716
mov ebx, dword [esp + 0xe8]
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx]
add edx, 2
movzx esi, byte [edi + esi + 2]
cmp ebp, edx
jbe 0x5ca70d
mov edx, dword [esp + 0xa4]
xchg esi, eax
mov byte [edx + ebx + 2], al
xchg esi, eax
mov ebx, dword [esp + 0xe8]
mov ebp, dword [ebx + 4]
mov esi, dword [ebx]
lea edi, [edx + 3]
cmp ebp, edi
ja 0x5ca5cc
jmp 0x5ca704
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edi
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, ebx
mov ecx, ebp
call fcn.00465e00
mov eax, edx
mov ecx, ebp
call fcn.00465e00
mov eax, edi
mov ecx, ebp
call fcn.00465e00
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
inc edi
mov esi, eax
cmp edi, ecx
jge 0x5c9c76
mov dword [esp + 0x48], edi
mov eax, esi
jmp 0x5ca81e
mov word [esp + 0x22], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffc
mov ebp, edx
neg edx
sar edx, 0x1f
and edi, edx
lea edx, [ebx + edi]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
add dword [ecx + 0x44], 6
mov edx, dword [esp + 0xe8]
mov dword [esp], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x48]
mov dword [esp + 8], ebp
movzx esi, word [esp + 0x1c]
mov word [esp + 0xc], si
movzx esi, word [esp + 0x22]
mov word [esp + 0xe], si
mov word [esp + 0x10], ax
mov word [esp + 0x12], 0xffff
call fcn.004bb6d0
mov eax, dword [esp + 0x64]
lea esi, [eax + 1]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0xe0]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x48]
cmp esi, ebp
jge 0x5ca759
mov dword [esp + 0x64], esi
mov ebp, dword [ebx + 0x44]
lea edi, [ebp + 6]
mov esi, dword [ebx + 0x40]
mov dword [esp + 0xbc], esi
mov esi, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], edi
jl 0x5ca924
mov dword [esp + 0xd8], esi
lea edi, [ebp + 2]
mov esi, dword [esp + 0xbc]
cmp esi, edi
jb 0x5ca984
cmp ebp, edi
ja 0x5ca97b
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], ecx
sub esi, ebp
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebp, esi
mov edx, dword [esp + 0xd8]
add edx, ebp
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ecx
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 4]
cmp edx, esi
jb 0x5ca974
lea edi, [ebp + 2]
cmp esi, edi
jb 0x5ca96b
mov word [esp + 0x1c], ax
mov eax, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], esi
sub edx, ebp
add edx, 0xfffffffe
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, edi
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [ecx + 0x44]
lea esi, [ebp + 6]
cmp edx, esi
jb 0x5ca964
lea edi, [ebp + 4]
cmp esi, edi
jae 0x5ca76f
jmp 0x5ca95b
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, edi
mov ecx, esi
call fcn.00465e60
mov ecx, esi
call fcn.00465e40
mov eax, ebp
mov ecx, edi
call fcn.00465e60
mov ecx, edi
mov edx, esi
call fcn.00465e40
mov dword [esp], esi
mov dword [esp + 4], ebp
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
inc ecx
mov edi, dword [esp + 0xec]
cmp ecx, eax
jge 0x5c9c76
mov dword [esp + 0x4c], ecx
jmp 0x5ca9e7
lea edi, [edx + 1]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x30]
mov eax, ecx
mov ecx, esi
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0xb8]
cmp edi, ebp
jge 0x5ca9a3
mov dword [esp + 0x6c], edi
mov ebp, dword [ebx + 0x24]
mov dword [esp + 0x90], ebp
jmp 0x5cab08
sub edi, ebp
cmp edi, 0x20
sbb ebp, ebp
mov dword [ebx + 0x4c], edi
mov edx, dword [ebx + 0x48]
mov dword [esp + 0xb0], edx
mov ecx, edi
shr edx, cl
and edx, ebp
mov edi, edx
shl edx, cl
and edx, ebp
not edx
mov ebp, dword [esp + 0xb0]
and ebp, edx
mov dword [ebx + 0x48], ebp
mov edx, edi
shl edi, 8
sub edi, edx
cmp esi, 1
je 0x5cab6d
mov ecx, eax
mov eax, edi
mov ebp, dword [esp + 0x98]
xor edx, edx
div ebp
cmp dword [ebx + 0x20], 3
jne 0x5caa58
add eax, 0xffffff01
neg eax
mov edx, dword [esp + 0xe8]
mov edi, dword [edx + 0x10]
mov ebp, dword [edx + 0x14]
mov esi, dword [edx + 0x18]
mov ebx, dword [edx + 0x1c]
mov edx, dword [esp + 0x6c]
cmp edx, edi
jl 0x5caad5
cmp edx, esi
jge 0x5caacc
mov esi, dword [esp + 0x4c]
cmp esi, ebp
jl 0x5ca9c7
cmp esi, ebx
jge 0x5ca9c7
nop
mov ebx, dword [esp + 0xe8]
mov edx, dword [ebx + 4]
mov dword [esp + 0xbc], edx
mov edx, dword [ebx]
sub esi, ebp
imul esi, dword [ebx + 0xc]
mov ebp, dword [esp + 0x6c]
sub ebp, edi
add ebp, esi
mov esi, dword [esp + 0xbc]
cmp esi, ebp
jbe 0x5cab64
mov byte [edx + ebp], al
mov edx, dword [esp + 0x6c]
mov esi, dword [esp + 0x4c]
jmp 0x5ca9c7
mov esi, dword [esp + 0x4c]
jmp 0x5ca9c7
mov esi, dword [esp + 0x4c]
jmp 0x5ca9c7
movzx edx, byte [ebp + edx]
or edx, edi
mov dword [ebx + 0x48], edx
inc dword [ebx + 0x44]
add dword [ebx + 0x4c], 8
mov ebp, dword [esp + 0x90]
mov edx, dword [esp + 0x98]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0x6c]
mov edi, dword [ebx + 0x4c]
cmp edi, ebp
jae 0x5ca9fe
mov edi, dword [ebx + 0x48]
shl edi, 8
mov dword [ebx + 0x48], edi
mov edx, dword [ebx + 0x44]
mov esi, dword [ebx + 0x3c]
mov ebp, dword [ebx + 0x38]
cmp esi, edx
jle 0x5cab2d
ja 0x5caade
jmp 0x5cab72
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, ebp
mov ecx, esi
call fcn.00465e00
call fcn.00435bc0
mov eax, edx
mov ecx, esi
call fcn.00465e00
mov dword [esp], esi
mov dword [esp + 4], edx
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
inc edi
mov esi, eax
cmp edi, ecx
jge 0x5c9c76
mov dword [esp + 0x50], edi
mov eax, esi
jmp 0x5cac21
mov esi, dword [esp + 0xe8]
mov edx, esi
mov esi, dword [esi + 0x18]
cmp ebp, esi
jne 0x5cab91
mov ebp, dword [ebx + 0x44]
mov edi, dword [esp + 0xf4]
sub edi, esi
lea ebp, [ebp + edi*2]
mov dword [ebx + 0x44], ebp
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x50]
jmp 0x5cab91
mov ecx, dword [esp + 0xe8]
mov dword [esp], ecx
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 8], ebx
mov word [esp + 0xc], ax
call fcn.004bcf60
mov eax, dword [esp + 0x70]
lea esi, [eax + 1]
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x50]
cmp esi, ebp
jge 0x5caba4
mov dword [esp + 0x70], esi
mov ebp, dword [ebx + 0x44]
mov dword [esp + 0xbc], ebp
lea edi, [ebp + 2]
mov esi, dword [ebx + 0x40]
mov ebp, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], edi
jl 0x5cacaf
cmp esi, edi
jb 0x5cacef
mov edx, dword [esp + 0xbc]
cmp edx, edi
ja 0x5cace6
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], ecx
sub esi, edx
mov ecx, esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
lea edx, [ebp + esi]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ecx
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
add dword [ecx + 0x44], 2
cmp dword [ecx + 0x20], 3
jne 0x5cabd1
inc eax
neg eax
jmp 0x5cabd1
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edx
mov ecx, edi
call fcn.00465e60
mov ecx, edi
mov edx, esi
call fcn.00465e40
mov dword [esp], esi
mov dword [esp + 4], ebp
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
nop
mov dword [ebx + 0x48], 0
mov dword [ebx + 0x4c], 0
inc esi
mov ebp, eax
cmp esi, ecx
jge 0x5c9c76
mov dword [esp + 0x7c], esi
mov eax, ebp
jmp 0x5cad46
inc ebp
mov edi, dword [esp + 0xe0]
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov ebx, edi
mov esi, dword [esp + 0x7c]
cmp ebp, edx
jge 0x5cad0e
mov dword [esp + 0x68], ebp
mov edi, dword [ebx + 0x24]
mov dword [esp + 0x8c], edi
jmp 0x5cae37
sub edx, edi
cmp edx, 0x20
sbb edi, edi
mov dword [ebx + 0x4c], edx
mov esi, dword [ebx + 0x48]
mov dword [esp + 0xb8], esi
mov ecx, edx
shr esi, cl
and esi, edi
mov edx, esi
shl esi, cl
and esi, edi
xchg esi, ebx
not ebx
xchg esi, ebx
mov edi, dword [esp + 0xb8]
and edi, esi
mov dword [ebx + 0x48], edi
mov esi, dword [esp + 0xe8]
mov edi, dword [esi + 0x10]
mov ecx, edx
mov edx, dword [esi + 0x14]
mov ebx, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebp, edi
jl 0x5cae0b
cmp ebp, ebx
jge 0x5cae02
mov ebx, dword [esp + 0x7c]
cmp ebx, edx
jl 0x5cad30
cmp ebx, esi
jge 0x5cad30
nop
mov esi, dword [esp + 0xe8]
mov ebp, dword [esi + 4]
mov dword [esp + 0xbc], ebp
mov ebp, dword [esi]
sub ebx, edx
imul ebx, dword [esi + 0xc]
mov edx, dword [esp + 0x68]
sub edx, edi
add edx, ebx
mov ebx, dword [esp + 0xbc]
cmp ebx, edx
jbe 0x5cae93
mov byte [ebp + edx], cl
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x68]
jmp 0x5cad30
mov ebx, dword [esp + 0x7c]
jmp 0x5cad30
mov ebx, dword [esp + 0x7c]
jmp 0x5cad30
movzx ebp, byte [esi + edi]
or ebp, edx
mov dword [ebx + 0x48], ebp
inc dword [ebx + 0x44]
add dword [ebx + 0x4c], 8
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x7c]
mov edx, dword [ebx + 0x4c]
cmp edx, edi
jae 0x5cad5d
mov edx, dword [ebx + 0x48]
shl edx, 8
mov dword [ebx + 0x48], edx
mov esi, dword [ebx + 0x44]
mov ebp, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x38]
cmp esi, ebp
jge 0x5cae5c
jb 0x5cae14
jmp 0x5cae9c
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edx
mov ecx, ebx
call fcn.00465e00
mov eax, esi
mov ecx, ebp
call fcn.00465e00
mov dword [esp], ebp
mov dword [esp + 4], edx
lea eax, [0x6b43c0]
mov dword [esp + 8], eax
call fcn.004094a0
inc esi
mov edx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0xf0]
cmp ebp, esi
jle 0x5c99ca
mov dword [esp + 0x54], esi
mov edi, dword [esp + 0x84]
add edi, eax
mov dword [esp + 0xd0], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xd0]
jmp 0x5caf3f
movzx edx, byte [esi + edi]
add edx, ebx
mov ebx, dword [esp + 0xbc]
mov byte [esi + ebx], dl
lea edx, [ebp + 1]
lea edi, [ebx + 1]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xe0]
mov ebx, ebp
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0xf4]
sub edx, ecx
dec edx
imul edx, eax
mov ebp, dword [esp + 0x74]
cmp ebp, edx
jge 0x5caebb
mov edx, dword [ebx + 0x3c]
mov esi, dword [ebx + 0x38]
cmp edi, edx
jge 0x5caf70
jae 0x5cafb0
mov dword [esp + 0xbc], edi
movzx ebx, byte [edi + esi]
sub edi, eax
cmp edx, edi
ja 0x5caf03
jmp 0x5cafa7
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov eax, edi
mov ecx, edx
call fcn.00465e00
mov eax, edi
mov ecx, edx
call fcn.00465e00
lea edi, [edx + 1]
mov edx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xec]
mov dword [esp + 0x88], esi
mov esi, dword [esp + 0xf8]
cmp esi, edi
jle 0x5cb003
mov dword [esp + 0x58], edi
mov esi, dword [esp + 0x88]
lea esi, [esi + ecx*2]
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0xc0]
jmp 0x5cb0a0
mov ecx, ebp
mov ebp, esi
mov edi, dword [esp + 0xf0]
jmp 0x5c99ca
mov ebp, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov ebp, dword [ebp + 0x10]
mov dword [esp], esi
mov esi, dword [esp + 0xa8]
sub edx, esi
mov edi, edx
neg edx
sar edx, 0x1f
and esi, edx
lea edx, [ebx + esi]
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], edi
movzx edx, word [esp + 0x16]
add eax, edx
mov word [esp + 0x10], ax
call ebp
mov eax, dword [esp + 0x78]
add eax, 2
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0xe0]
mov ebx, dword [esp + 0x94]
mov ebp, dword [esp + 0xec]
mov esi, dword [esp + 0xac]
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0x58]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x94]
sub edx, ebp
lea ebp, [edx - 1]
imul ebp, eax
mov edx, edi
mov edi, dword [esp + 0x78]
cmp edi, ebp
jge 0x5cafb9
lea ebp, [esi + 2]
mov edi, dword [ebx + 0x40]
mov dword [esp + 0xb4], edi
mov edi, dword [ebx + 0x38]
cmp dword [ebx + 0x3c], ebp
jl 0x5cb1b9
mov dword [esp + 0xac], ebp
mov dword [esp + 0xd8], edi
mov dword [esp + 0xa8], esi
sub esi, eax
lea ebp, [esi + 2]
mov edi, dword [esp + 0xb4]
cmp edi, ebp
jb 0x5cb210
cmp esi, ebp
ja 0x5cb207
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], ecx
sub edi, esi
mov ecx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
mov edx, dword [esp + 0xd8]
add edx, esi
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ecx
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [esp + 0xac]
cmp edx, ebp
jb 0x5cb200
mov esi, dword [esp + 0xa8]
cmp esi, ebp
ja 0x5cb1f7
mov word [esp + 0x16], ax
mov eax, dword [ecx + 8]
mov ebp, dword [ecx + 0xc]
mov eax, dword [eax + 0x20]
mov dword [esp], ebp
sub edx, esi
mov ebp, edx
neg edx
sar edx, 0x1f
and edx, esi
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ebp
call eax
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + 0x40]
mov ebx, dword [ecx + 0x38]
mov ebp, dword [esp + 0xac]
cmp edx, ebp
jae 0x5cb013
jmp 0x5cb1f0
mov eax, dword [0x1e70960]
mov ecx, dword [0x1e70964]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00409830
mov eax, dword [esp + 8]
lea ecx, [0x785de0]
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
add esp, 0xdc
ret
mov ecx, ebp
call fcn.00465e40
mov eax, esi
mov ecx, ebp
call fcn.00465e60
mov ecx, ebp
call fcn.00465e40
mov eax, esi
mov ecx, ebp
call fcn.00465e60
mov ecx, ebp
mov edx, edi
call fcn.00465e40
nop
call fcn.004649b0
jmp fcn.005c9830