Function at 0x6595d0
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x498]
cmp eax, dword [ecx + 8]
jbe 0x65bfad
sub esp, 0x518
mov eax, dword [esp + 0x51c]
mov ecx, dword [eax]
cmp ecx, 0x5fffffff
jl 0x65961c
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x659610
xor ecx, ecx
jmp 0x65bf74
add ecx, edx
sub ecx, dword [eax + 4]
xor edx, edx
jmp 0x65bebd
mov dword [esp], eax
mov ecx, dword [esp + 0x524]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x528]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x52c]
mov dword [esp + 0xc], ebx
call fcn.00658cd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x528]
mov edx, dword [esp + 0x520]
mov dword [edx], ecx
cmp ecx, 0x10
jl 0x659795
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x524]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x52c]
mov dword [esp + 8], eax
call fcn.0064dd90
mov eax, dword [esp + 0xc]
shl eax, 0xa
mov ecx, dword [esp + 0x528]
cdq
idiv ecx
mov dword [esp + 0x70], eax
cmp eax, 0x400
jge 0x6596a8
mov dword [esp + 0x70], 0x400
mov ebx, dword [esp + 0x51c]
mov ecx, dword [ebx + 0xc]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x54], eax
nop
cmp ecx, eax
jb 0x65beb1
mov edx, ecx
sub edx, eax
mov edi, esi
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
cmp edx, 7
jbe 0x65bea5
mov dword [esp + 0xc0], edi
mov dword [esp + 0x78], ecx
mov dword [esp + 0x4f4], ebp
movzx edx, byte [ebp + esi]
movzx edi, byte [ebp + esi + 1]
mov dword [esp + 0xbc], edi
shl edi, 8
or edx, edi
mov ebx, dword [esp + 0xbc]
shr ebx, 0x18
movzx edi, byte [ebp + esi + 2]
mov dword [esp + 0xbc], edi
shl edi, 0x10
or edi, edx
mov edx, ecx
mov ecx, dword [esp + 0xbc]
shr ecx, 0x10
or ebx, ecx
movzx ecx, byte [ebp + esi + 3]
mov dword [esp + 0xbc], ecx
shr ecx, 8
or ecx, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x18
movzx eax, byte [ebp + esi + 4]
or eax, ecx
movzx ecx, byte [ebp + esi + 5]
shl ecx, 8
or ecx, eax
movzx eax, byte [ebp + esi + 6]
shl eax, 0x10
or eax, ecx
movzx ecx, byte [ebp + esi + 7]
shl ecx, 0x18
lea esi, [edx - 0xc]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x520]
mov ebp, dword [esi + 0x64]
mov edx, dword [esi + 0x68]
mov esi, dword [esi + 0x6c]
or ebx, edi
or ecx, eax
mov eax, dword [esp + 0x40]
jmp 0x6597d8
mov dword [edx + 0x54], ecx
mov eax, dword [edx + 0xc]
cmp ecx, eax
ja 0x6597c7
mov dword [edx + 8], ecx
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x524]
cmp edx, eax
je 0x6597c0
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00468df0
add esp, 0x518
ret
mov edx, eax
call fcn.00468500
mov edx, esi
mov esi, edi
mov edi, ebx
mov ebx, ecx
mov ecx, edi
mov dword [esp + 0x4c], edx
mov edi, eax
mov eax, 0xb7a56463
mul ebx
imul eax, ecx, 0xb7a56463
add eax, edx
imul edx, ebx, 0xcf1bbcdc
nop
nop
add eax, edx
mov edx, ebp
mov ebp, dword [esp + 0x520]
mov ebp, dword [ebp + 0x14]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xb4], esi
shr eax, 0xa
mov esi, dword [esp + 0x51c]
lea edx, [esi + eax*8 + 0x20002c]
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xb0], eax
mov dword [esp + 0x68], ebx
mov dword [esp + 0xac], edi
mov ecx, dword [edx]
mov dword [esp + 0xa8], ecx
mov ebp, dword [edx + 4]
mov dword [esp + 0xa4], ebp
imul eax, ebx, 0x9e3779b1
shr eax, 0xe
mov dword [esp + 0x24], eax
lea edx, [esi + eax*8 + 0x2c]
mov eax, dword [edx]
mov dword [esp + 0xa0], eax
mov edx, dword [edx + 4]
mov dword [esp + 0x9c], edx
lea edi, [esp + 0x500]
xor eax, eax
call fcn.004686fa
lea ecx, [0x65bfc0]
mov dword [esp + 0x500], ecx
mov dword [esp + 0x504], esi
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x50c], ecx
mov ecx, dword [esp + 0xc0]
mov dword [esp + 0x510], ecx
mov ecx, dword [esp + 0x4f4]
mov dword [esp + 0x508], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x514], ecx
mov ecx, dword [esp + 0x500]
mov edi, dword [esi]
mov ebp, dword [esp + 0xa8]
sub ebp, edi
mov dword [esp], ebp
mov ebp, dword [esp + 0xac]
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call ecx
lea edi, [esp + 0x4e0]
lea esi, [esp + 0x10]
call fcn.00468bde
mov ecx, dword [esp + 0x500]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x51c]
sub ebx, dword [ebp]
mov dword [esp], ebx
mov ebx, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov esi, dword [esp + 0x68]
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call ecx
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x4b8]
lea esi, [esp + 0x4e0]
call fcn.00468bde
lea edi, [esp + 0x378]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x210]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x37c]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x4bc]
mov esi, ebp
sub ebp, ecx
imul ebp, ebx
sar ebp, 0xa
add ebp, dword [esp + 0x4c8]
sub ecx, esi
imul ecx, ebx
sar ecx, 0xa
add ecx, dword [esp + 0x388]
cmp ecx, ebp
jle 0x6599dd
lea edi, [esp + 0x210]
lea esi, [esp + 0x4b8]
call fcn.00468bde
jmp 0x6599f0
lea edi, [esp + 0x210]
lea esi, [esp + 0x378]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x210]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x51c]
mov ebx, dword [ecx]
mov ebp, dword [esp + 0xa0]
sub ebp, ebx
mov dword [esp], ebp
mov ebx, dword [esp + 0xac]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x4a4]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x364]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x1fc]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x4a8]
mov ebx, dword [esp + 0x368]
mov ebp, ecx
sub ecx, ebx
mov edx, dword [esp + 0x70]
imul ecx, edx
sar ecx, 0xa
add ecx, dword [esp + 0x4b4]
sub ebx, ebp
imul ebx, edx
sar ebx, 0xa
add ebx, dword [esp + 0x374]
cmp ebx, ecx
jle 0x659ad2
lea edi, [esp + 0x1fc]
lea esi, [esp + 0x4a4]
call fcn.00468bde
jmp 0x659ae5
lea edi, [esp + 0x1fc]
lea esi, [esp + 0x364]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x1fc]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x9c]
mov ebx, dword [esp + 0x51c]
sub ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [esp + 0xac]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x490]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x350]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x1e8]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x494]
mov ebx, dword [esp + 0x354]
mov ebp, ecx
sub ecx, ebx
sub ebx, ebp
mov ebp, dword [esp + 0x70]
imul ecx, ebp
sar ecx, 0xa
add ecx, dword [esp + 0x4a0]
imul ebx, ebp
sar ebx, 0xa
add ebx, dword [esp + 0x360]
cmp ebx, ecx
jle 0x659bc5
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x490]
call fcn.00468bde
jmp 0x659bd8
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x350]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x1e8]
call fcn.00468bde
mov ecx, dword [esp + 0xbc]
cmp ecx, 2
jle 0x65a205
cmp dword [esp + 0x240], 0x64
jge 0x65a205
mov eax, dword [esp + 0x68]
shr eax, 8
mov ebx, dword [esp + 0x6c]
shl ebx, 0x18
or ebx, eax
mov dword [esp + 0x98], ebx
mov eax, dword [esp + 0xac]
lea esi, [eax + 1]
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x500]
mov ecx, dword [esp + 0xb8]
sub eax, ecx
mov dword [esp + 0xa4], eax
inc eax
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea edx, [esp + 0x500]
call edi
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x47c]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x33c]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x1d4]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x340]
mov ebp, dword [esp + 0x480]
mov esi, ebp
sub ebp, ebx
imul ebp, ecx
sar ebp, 0xa
add ebp, dword [esp + 0x48c]
sub ebx, esi
imul ebx, ecx
sar ebx, 0xa
add ebx, dword [esp + 0x34c]
cmp ebx, ebp
jle 0x659cf1
lea edi, [esp + 0x1d4]
lea esi, [esp + 0x47c]
call fcn.00468bde
jmp 0x659d04
lea edi, [esp + 0x1d4]
lea esi, [esp + 0x33c]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x1d4]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x4c]
sub ecx, ebx
mov dword [esp + 0x9c], ecx
lea edx, [ecx + 1]
mov dword [esp], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x468]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x328]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x1c0]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x32c]
mov ebx, dword [esp + 0x46c]
mov ebp, ebx
sub ebx, ecx
sub ecx, ebp
mov ebp, dword [esp + 0x70]
imul ebx, ebp
sar ebx, 0xa
add ebx, dword [esp + 0x478]
imul ecx, ebp
sar ecx, 0xa
add ecx, dword [esp + 0x338]
cmp ecx, ebx
jle 0x659deb
lea edi, [esp + 0x1c0]
lea esi, [esp + 0x468]
call fcn.00468bde
jmp 0x659dfe
lea edi, [esp + 0x1c0]
lea esi, [esp + 0x328]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x1c0]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0xb4]
sub ecx, ebx
mov dword [esp + 0x94], ecx
lea edx, [ecx + 1]
mov dword [esp], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x454]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x314]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x1ac]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x318]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x458]
mov edx, ebp
sub ebp, ecx
imul ebp, ebx
sar ebp, 0xa
add ebp, dword [esp + 0x464]
sub ecx, edx
imul ecx, ebx
sar ecx, 0xa
add ecx, dword [esp + 0x324]
cmp ecx, ebp
jle 0x659ee8
lea edi, [esp + 0x1ac]
lea esi, [esp + 0x454]
call fcn.00468bde
jmp 0x659efb
lea edi, [esp + 0x1ac]
lea esi, [esp + 0x314]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x1ac]
call fcn.00468bde
mov ecx, dword [esp + 0x240]
test ecx, ecx
jle 0x65a1fe
mov eax, dword [esp + 0x6c]
shl eax, 8
mov ebx, dword [esp + 0x68]
shr ebx, 0x18
or eax, ebx
mov dword [esp + 0x98], eax
mov ebx, dword [esp + 0xac]
lea esi, [ebx + 3]
mov dword [esp + 0x38], esi
mov edi, dword [esp + 0x500]
mov ecx, dword [esp + 0xa4]
add ecx, 3
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea edx, [esp + 0x500]
call edi
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x440]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x300]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x198]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x444]
mov ebx, dword [esp + 0x304]
mov ebp, ecx
sub ecx, ebx
mov esi, dword [esp + 0x70]
imul ecx, esi
sar ecx, 0xa
add ecx, dword [esp + 0x450]
sub ebx, ebp
imul ebx, esi
sar ebx, 0xa
add ebx, dword [esp + 0x310]
cmp ebx, ecx
jle 0x659ffe
lea edi, [esp + 0x198]
lea esi, [esp + 0x440]
call fcn.00468bde
jmp 0x65a011
lea edi, [esp + 0x198]
lea esi, [esp + 0x300]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x198]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x9c]
add ecx, 3
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ebx, dword [esp + 0x98]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x42c]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x2ec]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x184]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x430]
mov ebx, dword [esp + 0x2f0]
mov ebp, ecx
sub ecx, ebx
sub ebx, ebp
mov ebp, dword [esp + 0x70]
imul ecx, ebp
sar ecx, 0xa
add ecx, dword [esp + 0x43c]
imul ebx, ebp
sar ebx, 0xa
add ebx, dword [esp + 0x2fc]
cmp ebx, ecx
jle 0x65a0eb
lea edi, [esp + 0x184]
lea esi, [esp + 0x42c]
call fcn.00468bde
jmp 0x65a0fe
lea edi, [esp + 0x184]
lea esi, [esp + 0x2ec]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x184]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0x94]
add ecx, 3
mov dword [esp], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 3
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x418]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x2d8]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x170]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x2dc]
mov ebp, dword [esp + 0x41c]
mov edx, ebp
sub ebp, ebx
imul ebp, ecx
sar ebp, 0xa
add ebp, dword [esp + 0x428]
sub ebx, edx
imul ebx, ecx
sar ebx, 0xa
add ebx, dword [esp + 0x2e8]
cmp ebx, ebp
jle 0x65a1d8
lea edi, [esp + 0x170]
lea esi, [esp + 0x418]
call fcn.00468bde
jmp 0x65a1eb
lea edi, [esp + 0x170]
lea esi, [esp + 0x2d8]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x170]
call fcn.00468bde
mov ecx, dword [esp + 0xbc]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x51c]
lea edx, [ebp + ebx*8 + 0x20002c]
lea ebx, [ebp + ebx*8 + 0x200030]
mov esi, dword [ebp]
mov edi, ebp
mov ebp, dword [esp + 0xac]
add esi, ebp
mov dword [edx], esi
mov edx, ebp
mov ebp, dword [esp + 0xa8]
mov dword [ebx], ebp
mov ebx, dword [esp + 0x24]
lea ebp, [edi + ebx*8 + 0x2c]
lea ebx, [edi + ebx*8 + 0x30]
mov esi, dword [edi]
add esi, edx
mov dword [ebp], esi
mov ebp, dword [esp + 0xa0]
mov dword [ebx], ebp
mov ebx, dword [esp + 0x240]
cmp ebx, 0x64
jge 0x65adf0
cmp ebx, 4
jge 0x65a35b
mov ebx, dword [esp + 0x54]
mov ebp, edx
sub edx, ebx
sar edx, 9
lea eax, [edx + ebp + 1]
lea ebx, [edx + ebp]
mov ebp, dword [esp + 0x3c]
cmp eax, ebp
jge 0x65b21f
nop
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jb 0x65bea0
sub ecx, ebx
mov ebp, dword [esp + 0xc0]
sub ebp, ebx
dec ecx
lea ebx, [ebp - 1]
neg ebx
sar ebx, 0x1f
and ebx, eax
cmp ecx, 7
jbe 0x65be96
mov ecx, dword [esp + 0x4f4]
movzx ebp, byte [ecx + ebx]
movzx edx, byte [ecx + ebx + 1]
mov dword [esp + 0xbc], edx
shl edx, 8
or ebp, edx
mov edx, ecx
mov ecx, dword [esp + 0xbc]
shr ecx, 0x18
movzx esi, byte [edx + ebx + 2]
mov dword [esp + 0xbc], esi
shl esi, 0x10
or esi, ebp
mov ebp, ebx
mov ebx, dword [esp + 0xbc]
shr ebx, 0x10
or ecx, ebx
movzx ebx, byte [edx + ebp + 3]
mov dword [esp + 0xbc], ebx
shr ebx, 8
or ebx, ecx
mov ecx, dword [esp + 0xbc]
shl ecx, 0x18
movzx edi, byte [edx + ebp + 4]
or edi, ebx
movzx ebx, byte [edx + ebp + 5]
shl ebx, 8
or ebx, edi
movzx edi, byte [edx + ebp + 6]
shl edi, 0x10
or edi, ebx
movzx ebx, byte [edx + ebp + 7]
shl ebx, 0x18
or ecx, esi
or ebx, edi
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0xb4]
jmp 0x6597ce
mov ebx, dword [esp + 0x68]
shr ebx, 8
mov ebp, dword [esp + 0x6c]
shl ebp, 0x18
or ebp, ebx
lea ebx, [edx + 1]
imul ebp, ebp, 0x9e3779b1
shr ebp, 0xe
lea ebp, [edi + ebp*8 + 0x2c]
nop
mov esi, dword [esp + 0x78]
cmp esi, ebx
jb 0x65be8d
mov dword [esp + 0x4fc], ebp
sub esi, edx
mov ebp, dword [esp + 0xc0]
sub ebp, edx
lea ecx, [esi - 1]
lea eax, [ebp - 1]
neg eax
sar eax, 0x1f
and eax, ebx
cmp ecx, 7
jbe 0x65be83
mov dword [esp + 0x40], ebx
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], ebp
lea ecx, [edx + 2]
mov ebx, dword [esp + 0x4f4]
movzx edx, byte [ebx + eax]
movzx edi, byte [ebx + eax + 1]
mov dword [esp + 0xb0], edi
shl edi, 8
or edx, edi
mov edi, dword [esp + 0xb0]
shr edi, 0x18
movzx ebp, byte [ebx + eax + 2]
mov dword [esp + 0xb0], ebp
shr ebp, 0x10
or ebp, edi
mov edi, dword [esp + 0xb0]
shl edi, 0x10
or edi, edx
movzx edx, byte [ebx + eax + 3]
mov dword [esp + 0xb0], edx
shr edx, 8
or edx, ebp
mov ebp, dword [esp + 0xb0]
shl ebp, 0x18
movzx esi, byte [ebx + eax + 4]
or esi, edx
movzx edx, byte [ebx + eax + 5]
shl edx, 8
or edx, esi
movzx esi, byte [ebx + eax + 6]
shl esi, 0x10
or esi, edx
movzx eax, byte [ebx + eax + 7]
shl eax, 0x18
or ebp, edi
or eax, esi
mov esi, dword [esp + 0x78]
cmp esi, ecx
jb 0x65be7a
mov edi, dword [esp + 0xac]
add edi, 0xfffffffe
mov esi, dword [esp + 0xa8]
add esi, 0xfffffffe
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ecx
cmp edi, 7
jbe 0x65be6e
mov dword [esp + 0x64], ecx
mov dword [esp + 0xb0], ebp
mov edi, eax
mov eax, ebp
mov ecx, 0xb7a56463
mul ecx
imul edi, edi, 0xb7a56463
add edi, edx
imul eax, ebp, 0xcf1bbcdc
movzx edx, byte [ebx + esi]
movzx ebp, byte [ebx + esi + 1]
mov dword [esp + 0x98], ebp
shr ebp, 0x18
mov ecx, dword [esp + 0x98]
shl ecx, 8
or edx, ecx
movzx ecx, byte [ebx + esi + 2]
mov dword [esp + 0x98], ecx
shl ecx, 0x10
or edx, ecx
mov dword [esp + 0x90], edx
mov ecx, dword [esp + 0x98]
shr ecx, 0x10
or ebp, ecx
movzx ecx, byte [ebx + esi + 3]
mov dword [esp + 0x98], ecx
shr ecx, 8
or ecx, ebp
mov ebp, dword [esp + 0x98]
shl ebp, 0x18
movzx edx, byte [ebx + esi + 4]
or edx, ecx
movzx ecx, byte [ebx + esi + 5]
shl ecx, 8
or ecx, edx
movzx edx, byte [ebx + esi + 6]
shl edx, 0x10
or edx, ecx
movzx ecx, byte [ebx + esi + 7]
shl ecx, 0x18
lea esi, [eax + edi]
mov edi, dword [esp + 0x90]
or ebp, edi
or ecx, edx
shr esi, 0xa
mov edi, dword [esp + 0x51c]
lea esi, [edi + esi*8 + 0x20002c]
mov eax, 0xb7a56463
mul ebp
imul ecx, ecx, 0xb7a56463
add ecx, edx
imul eax, ebp, 0xcf1bbcdc
mov edx, dword [esi]
mov esi, dword [esi + 4]
add ecx, eax
mov dword [esp + 0x98], ebp
mov dword [esp + 0xac], edx
mov dword [esp + 0xa8], esi
mov eax, dword [esp + 0x4fc]
mov eax, dword [eax]
mov ebx, dword [esp + 0x500]
sub eax, dword [edi]
shr ecx, 0xa
lea ecx, [edi + ecx*8 + 0x20002c]
mov ebp, dword [ecx]
mov dword [esp + 0xa4], ebp
mov ecx, dword [ecx + 4]
mov dword [esp + 0xa0], ecx
mov dword [esp], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 4], eax
mov esi, dword [esp + 0xb0]
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call ebx
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x404]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x2c4]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x15c]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x408]
mov esi, ebp
sub ebp, ebx
imul ebp, ecx
sar ebp, 0xa
add ebp, dword [esp + 0x414]
sub ebx, esi
imul ebx, ecx
sar ebx, 0xa
add ebx, dword [esp + 0x2d4]
cmp ebx, ebp
jle 0x65a658
lea edi, [esp + 0x15c]
lea esi, [esp + 0x404]
call fcn.00468bde
jmp 0x65a66b
lea edi, [esp + 0x15c]
lea esi, [esp + 0x2c4]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x15c]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x51c]
sub ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0xb0]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x3f0]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x2b0]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x148]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x3f4]
mov ebx, dword [esp + 0x2b4]
mov ebp, ecx
sub ecx, ebx
mov edx, dword [esp + 0x70]
imul ecx, edx
sar ecx, 0xa
add ecx, dword [esp + 0x400]
sub ebx, ebp
imul ebx, edx
sar ebx, 0xa
add ebx, dword [esp + 0x2c0]
cmp ebx, ecx
jle 0x65a74b
lea edi, [esp + 0x148]
lea esi, [esp + 0x3f0]
call fcn.00468bde
jmp 0x65a75e
lea edi, [esp + 0x148]
lea esi, [esp + 0x2b0]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x148]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x51c]
sub ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x3dc]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x29c]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x134]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x3e0]
mov ebx, dword [esp + 0x2a0]
mov ebp, ecx
sub ecx, ebx
sub ebx, ebp
mov ebp, dword [esp + 0x70]
imul ecx, ebp
sar ecx, 0xa
add ecx, dword [esp + 0x3ec]
imul ebx, ebp
sar ebx, 0xa
add ebx, dword [esp + 0x2ac]
cmp ebx, ecx
jle 0x65a83e
lea edi, [esp + 0x134]
lea esi, [esp + 0x3dc]
call fcn.00468bde
jmp 0x65a851
lea edi, [esp + 0x134]
lea esi, [esp + 0x29c]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x134]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x51c]
sub ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0x98]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x3c8]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x288]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x120]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x3cc]
mov ebx, dword [esp + 0x28c]
mov ebp, ecx
sub ecx, ebx
sub ebx, ebp
mov ebp, dword [esp + 0x70]
imul ecx, ebp
sar ecx, 0xa
add ecx, dword [esp + 0x3d8]
imul ebx, ebp
sar ebx, 0xa
add ebx, dword [esp + 0x298]
cmp ebx, ecx
jle 0x65a931
lea edi, [esp + 0x120]
lea esi, [esp + 0x3c8]
call fcn.00468bde
jmp 0x65a944
lea edi, [esp + 0x120]
lea esi, [esp + 0x288]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x120]
call fcn.00468bde
mov eax, dword [esp + 0x500]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0x51c]
sub ecx, dword [ebx]
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x3b4]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x274]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0x10c]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x3b8]
mov ebx, dword [esp + 0x278]
mov ebp, ecx
sub ecx, ebx
mov edx, dword [esp + 0x70]
imul ecx, edx
sar ecx, 0xa
add ecx, dword [esp + 0x3c4]
sub ebx, ebp
imul ebx, edx
sar ebx, 0xa
add ebx, dword [esp + 0x284]
cmp ebx, ecx
jle 0x65aa24
lea edi, [esp + 0x10c]
lea esi, [esp + 0x3b4]
call fcn.00468bde
jmp 0x65aa37
lea edi, [esp + 0x10c]
lea esi, [esp + 0x274]
call fcn.00468bde
lea edi, [esp + 0x238]
lea esi, [esp + 0x10c]
call fcn.00468bde
mov ecx, dword [esp + 0x23c]
mov ebx, dword [esp + 0x240]
lea ebp, [ecx + ebx]
mov edx, ecx
mov ecx, dword [esp + 0x3c]
cmp ecx, ebp
jle 0x65ade0
nop
mov esi, ebx
mov ebx, dword [esp + 0x78]
cmp ebx, ebp
jb 0x65be65
sub ebx, ebp
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0xc0]
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
mov ebx, dword [esp + 0x74]
cmp ebx, 7
jbe 0x65be59
mov dword [esp + 0xac], edx
mov dword [esp + 0x8c], ebp
mov ebx, dword [esp + 0x4f4]
movzx ecx, byte [ebx + ebp]
movzx eax, byte [ebx + ebp + 1]
mov dword [esp + 0xb0], eax
shl eax, 8
or ecx, eax
mov eax, ebx
mov ebx, dword [esp + 0xb0]
shr ebx, 0x18
movzx edx, byte [eax + ebp + 2]
mov dword [esp + 0xb0], edx
shr edx, 0x10
or ebx, edx
mov edx, ebx
mov ebx, dword [esp + 0xb0]
shl ebx, 0x10
or ebx, ecx
movzx ecx, byte [eax + ebp + 3]
mov dword [esp + 0xb0], ecx
shr ecx, 8
or ecx, edx
mov ebp, dword [esp + 0xb0]
shl ebp, 0x18
or ebp, ebx
mov ebx, eax
mov eax, 0xb7a56463
mul ebp
imul ebp, ebp, 0xcf1bbcdc
mov eax, ebp
mov ebp, dword [esp + 0x8c]
movzx edi, byte [ebx + ebp + 4]
or edi, ecx
movzx ecx, byte [ebx + ebp + 5]
shl ecx, 8
or edi, ecx
movzx ecx, byte [ebx + ebp + 6]
shl ecx, 0x10
or edi, ecx
movzx ebp, byte [ebx + ebp + 7]
shl ebp, 0x18
or edi, ebp
imul ebp, edi, 0xb7a56463
add ebp, edx
nop
add ebp, eax
shr ebp, 0xa
mov eax, ebx
mov ebx, dword [esp + 0x51c]
lea ebp, [ebx + ebp*8 + 0x20002c]
mov ecx, dword [ebp]
sub ecx, dword [ebx]
sub ecx, esi
mov ebp, dword [ebp + 4]
test ecx, ecx
jl 0x65adf9
mov esi, dword [esp + 0xac]
mov edi, dword [esp + 0x78]
cmp esi, edi
ja 0x65be50
sub edi, esi
mov ebx, dword [esp + 0xc0]
sub ebx, esi
neg ebx
sar ebx, 0x1f
and ebx, esi
cmp edi, 3
jbe 0x65be44
mov dword [esp + 0xac], ebp
mov ebp, dword [esp + 0x500]
mov ebx, dword [eax + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call ebp
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x3a0]
lea esi, [esp + 0x238]
call fcn.00468bde
lea edi, [esp + 0x260]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0xf8]
xor eax, eax
call fcn.004686fb
mov ecx, dword [esp + 0x3a4]
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x264]
mov esi, ecx
sub ecx, ebp
imul ecx, ebx
sar ecx, 0xa
add ecx, dword [esp + 0x3b0]
sub ebp, esi
imul ebp, ebx
sar ebp, 0xa
add ebp, dword [esp + 0x270]
cmp ebp, ecx
jle 0x65ac64
lea edi, [esp + 0xf8]
lea esi, [esp + 0x3a0]
call fcn.00468bde
jmp 0x65ac77
lea edi, [esp + 0xf8]
lea esi, [esp + 0x260]
call fcn.00468bde
lea edi, [esp + 0x224]
lea esi, [esp + 0xf8]
call fcn.00468bde
mov ecx, dword [esp + 0xac]
mov ebx, dword [esp + 0x51c]
sub ecx, dword [ebx]
sub ecx, dword [esp + 0x240]
test ecx, ecx
jl 0x65adc4
mov ebp, dword [esp + 0x23c]
mov esi, dword [esp + 0x78]
cmp ebp, esi
ja 0x65be3b
sub esi, ebp
mov edi, dword [esp + 0xc0]
sub edi, ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebp
cmp esi, 3
jbe 0x65be2f
mov eax, dword [esp + 0x500]
mov ebx, dword [esp + 0x4f4]
mov esi, dword [ebx + edi]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 0xffffffff
lea edx, [esp + 0x500]
call eax
lea edi, [esp + 0x4cc]
lea esi, [esp + 0x10]
call fcn.00468bde
lea edi, [esp + 0x38c]
lea esi, [esp + 0x224]
call fcn.00468bde
lea edi, [esp + 0x24c]
lea esi, [esp + 0x4cc]
call fcn.00468bde
lea edi, [esp + 0xe4]
xor eax, eax
call fcn.004686fb
mov eax, dword [esp + 0x390]
mov ecx, dword [esp + 0x250]
mov ebx, eax
sub eax, ecx
sub ecx, ebx
mov ebx, dword [esp + 0x70]
imul eax, ebx
sar eax, 0xa
add eax, dword [esp + 0x39c]
imul ecx, ebx
sar ecx, 0xa
add ecx, dword [esp + 0x25c]
cmp ecx, eax
jle 0x65ad97
lea edi, [esp + 0xe4]
lea esi, [esp + 0x38c]
call fcn.00468bde
jmp 0x65adaa
lea edi, [esp + 0xe4]
lea esi, [esp + 0x24c]
call fcn.00468bde
lea edi, [esp + 0x224]
lea esi, [esp + 0xe4]
call fcn.00468bde
mov ebx, dword [esp + 0x51c]
lea edi, [esp + 0x238]
lea esi, [esp + 0x224]
call fcn.00468bde
mov eax, dword [esp + 0x4f4]
jmp 0x65adf9
mov eax, dword [esp + 0x4f4]
mov ebx, dword [esp + 0x51c]
jmp 0x65adf9
mov eax, dword [esp + 0x4f4]
mov ebx, edi
mov ebp, dword [esp + 0x244]
test ebp, ebp
jle 0x65ae78
mov ebp, dword [esp + 0x23c]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov ecx, dword [esp + 0x240]
add ecx, 0xfffffffd
mov dword [esp + 0xd8], ecx
mov ecx, dword [ebx + 4]
mov edx, ebp
sub ebp, ecx
test ebp, ebp
jge 0x65ae55
xor ebp, ebp
mov dword [esp + 0xac], edx
mov ecx, dword [esp + 0x54]
mov esi, dword [esp + 0x23c]
inc ecx
mov dword [esp + 0x30], ecx
mov edi, dword [esp + 0x238]
jmp 0x65b91a
mov ebp, dword [esp + 0x23c]
mov ecx, dword [esp + 0x238]
mov edx, dword [ebx + 4]
mov esi, ebp
sub ebp, edx
mov edx, esi
sub esi, ecx
test ebp, ebp
jge 0x65ae97
xor ebp, ebp
mov dword [esp + 0xb4], esi
mov dword [esp + 0x28], ebp
mov edi, dword [esp + 0x240]
jmp 0x65b24e
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x51c]
mov esi, dword [esp + 0xb4]
jmp 0x65aedc
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x51c]
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x58], edi
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov ebp, dword [esp + 0x54]
sub edx, ebp
mov dword [esp + 0xc4], edx
lea ebp, [edi - 3]
mov dword [esp + 0xc8], ebp
mov ebp, dword [esp + 0xc4]
test ebp, ebp
jbe 0x65b052
mov ebp, dword [esp + 0x40]
mov edx, dword [esp + 0xc0]
cmp ebp, edx
ja 0x65b8df
mov esi, dword [esp + 0x54]
cmp ebp, esi
jb 0x65b8d6
mov ebx, dword [esp + 0x520]
mov edi, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
sub ebp, esi
mov dword [esp + 0x8c], ebp
add ebp, ecx
sub edx, esi
neg edx
sar edx, 0x1f
and esi, edx
mov edx, dword [ebx + 4]
add esi, eax
cmp edi, ebp
jae 0x65afc8
mov dword [esp + 0x4f8], esi
mov dword [esp + 0x88], ecx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc], eax
lea ecx, [0x6e4500]
mov dword [esp + 0x10], ecx
call fcn.0044e230
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov esi, dword [esp + 0x4f8]
mov dword [esp + 0x88], edi
mov dword [esp + 0x84], ebp
mov dword [esp + 0x4f8], edx
lea eax, [edx + ecx]
mov dword [esp], eax
mov dword [esp + 4], esi
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.00468df0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x520]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x88]
mov dword [ecx + 0xc], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x65b025
mov ebx, dword [esp + 0x4f8]
jmp 0x65b039
call fcn.00468460
mov ebx, dword [esp + 0x4f8]
mov dword [edi], ebx
mov ebp, dword [ecx + 4]
mov dword [edi + 4], ebp
mov dword [ecx + 4], ebx
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x51c]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x40]
mov edx, ebp
sub ebp, ecx
lea ecx, [ebp + 3]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x520]
mov ebp, dword [ecx + 0x18]
mov esi, dword [ecx + 0x14]
inc esi
lea eax, [edx + edi]
mov dword [esp + 0xac], eax
mov ebx, dword [ecx + 0x10]
cmp ebp, esi
jae 0x65b0ef
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x716c80]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x520]
mov dword [ebx + 0x18], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65b0d2
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x10]
mov dword [edi + 4], ebp
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0xac]
mov edi, dword [esp + 0x58]
mov esi, edx
mov ebx, ecx
mov ecx, dword [esp + 0x520]
mov edx, dword [esp + 0x40]
mov dword [ecx + 0x14], esi
lea ebp, [esi - 1]
shl ebp, 4
add ebx, ebp
lea esi, [esp + 0xc4]
mov ebp, edi
mov edi, ebx
call fcn.00468be8
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x3c]
cmp ecx, eax
jle 0x65b2a0
lea ebx, [edx + 1]
mov esi, dword [esp + 0x51c]
mov edi, dword [esp + 0x4f4]
jmp 0x65b505
nop
mov ecx, dword [esp + 0x78]
cmp ecx, eax
jb 0x65b8c0
mov ebx, ecx
sub ebx, eax
mov ebp, dword [esp + 0xc0]
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp ebx, 7
jbe 0x65b8b4
movzx ebx, byte [ebp + edi]
movzx esi, byte [ebp + edi + 1]
mov dword [esp + 0xb0], esi
shl esi, 8
or ebx, esi
mov esi, dword [esp + 0xb0]
shr esi, 0x18
movzx edx, byte [ebp + edi + 2]
mov dword [esp + 0xb0], edx
shr edx, 0x10
or esi, edx
mov edx, esi
mov esi, dword [esp + 0xb0]
shl esi, 0x10
or esi, ebx
movzx ebx, byte [ebp + edi + 3]
mov dword [esp + 0xb0], ebx
shr ebx, 8
or ebx, edx
mov edx, esi
mov esi, dword [esp + 0xb0]
shl esi, 0x18
movzx ecx, byte [ebp + edi + 4]
or ecx, ebx
movzx ebx, byte [ebp + edi + 5]
shl ebx, 8
or ebx, ecx
movzx ecx, byte [ebp + edi + 6]
shl ecx, 0x10
or ecx, ebx
movzx ebx, byte [ebp + edi + 7]
shl ebx, 0x18
or esi, edx
or ebx, ecx
mov ebp, dword [esp + 0xbc]
cmp ebp, 2
jle 0x65b204
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xc0]
mov ebp, dword [esp + 0xb4]
jmp 0x65b5fd
mov edx, edi
mov ebp, dword [esp + 0xb4]
mov ecx, esi
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0xb8]
jmp 0x6597ce
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x4c]
jmp 0x65b2b2
inc edi
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x51c]
mov ecx, esi
mov edx, ebp
mov ebp, dword [esp + 0x28]
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], ecx
cmp ecx, ebp
jle 0x65aedc
cmp dword [esp + 0x54], edx
jge 0x65aedc
lea esi, [ecx - 1]
mov ebx, dword [esp + 0x78]
cmp ebx, esi
jbe 0x65b8ef
lea ebp, [edx - 1]
movzx ecx, byte [eax + ecx - 1]
cmp ebx, ebp
jbe 0x65b8e6
lea edx, [eax + edx - 1]
cmp byte [edx], cl
jne 0x65aec6
cmp edi, 0x20002
jl 0x65b233
jmp 0x65aeae
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x78]
cmp ebx, ebp
jge 0x65b3df
ja 0x65b3f6
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], eax
mov esi, dword [esp + 0x520]
mov edi, dword [esi + 0xc]
mov eax, dword [esi + 8]
sub ebp, ebx
lea edx, [eax + ebp]
mov ecx, dword [esp + 0xc0]
sub ecx, ebx
neg ecx
sar ecx, 0x1f
and ebx, ecx
mov ecx, dword [esi + 4]
mov esi, dword [esp + 0x4f4]
add ebx, esi
cmp edi, edx
jae 0x65b35a
mov dword [esp + 0xc0], eax
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x4f8], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
lea eax, [0x6e4500]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0xc0]
mov ebx, dword [esp + 0x4f8]
mov ebp, dword [esp + 0x8c]
mov dword [esp + 0xc0], edi
mov dword [esp + 0x8c], edx
mov dword [esp + 0x4f8], ecx
add eax, ecx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00468df0
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x520]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xc0]
mov dword [ecx + 0xc], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x65b3af
mov eax, dword [esp + 0x4f8]
jmp 0x65b3c3
call fcn.00468460
mov eax, dword [esp + 0x4f8]
mov dword [edi], eax
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x78]
sub edx, eax
mov dword [ecx + 0x54], edx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x520]
mov dword [ebx + 0x64], ecx
mov dword [ebx + 0x68], edx
mov dword [ebx + 0x6c], eax
add esp, 0x518
ret
mov eax, ebx
mov ecx, ebp
call fcn.00468520
mov dword [esp + 0x5c], ebx
mov ecx, dword [esi]
movzx eax, byte [edi + ebp]
movzx edx, byte [edi + ebp + 1]
mov dword [esp + 0xb0], edx
shl edx, 8
or eax, edx
mov esi, dword [esp + 0xb0]
shr esi, 0x18
movzx edx, byte [edi + ebp + 2]
mov dword [esp + 0xb0], edx
shr edx, 0x10
or edx, esi
mov esi, dword [esp + 0xb0]
shl esi, 0x10
or esi, eax
movzx eax, byte [edi + ebp + 3]
mov dword [esp + 0xb0], eax
shr eax, 8
or eax, edx
mov ebx, dword [esp + 0xb0]
shl ebx, 0x18
or ebx, esi
mov esi, eax
mov eax, 0xb7a56463
mul ebx
imul eax, ebx, 0xcf1bbcdc
add eax, edx
movzx edx, byte [edi + ebp + 4]
or edx, esi
movzx esi, byte [edi + ebp + 5]
shl esi, 8
or esi, edx
movzx edx, byte [edi + ebp + 6]
shl edx, 0x10
or edx, esi
movzx ebp, byte [edi + ebp + 7]
shl ebp, 0x18
or ebp, edx
imul ebp, ebp, 0xb7a56463
nop
nop
mov esi, dword [esp + 0x5c]
add ecx, esi
add ebp, eax
shr ebp, 0xa
mov eax, esi
mov esi, dword [esp + 0x51c]
lea edx, [esi + ebp*8 + 0x200030]
lea ebp, [esi + ebp*8 + 0x20002c]
mov edi, dword [ebp]
mov dword [ebp], ecx
mov dword [edx], edi
imul edx, ebx, 0x9e3779b1
shr edx, 0xe
lea ebx, [esi + edx*8 + 0x30]
lea edx, [esi + edx*8 + 0x2c]
mov ebp, dword [edx]
mov dword [edx], ecx
mov dword [ebx], ebp
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x4f4]
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0x3c]
lea ecx, [edx + ebp - 1]
cmp ebx, ecx
jge 0x65b130
nop
mov ecx, dword [esp + 0x78]
cmp ebx, ecx
ja 0x65b8cf
sub ecx, ebx
mov ebp, dword [esp + 0xc0]
sub ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
cmp ecx, 7
ja 0x65b3ff
jmp 0x65b8c5
mov ebx, dword [esp + 0x4f4]
movzx esi, byte [ebp + ebx]
movzx ecx, byte [ebp + ebx + 1]
mov dword [esp + 0xbc], ecx
shl ecx, 8
or esi, ecx
mov ecx, dword [esp + 0xbc]
shr ecx, 0x18
movzx edx, byte [ebp + ebx + 2]
mov dword [esp + 0xbc], edx
shr edx, 0x10
or edx, ecx
mov ecx, dword [esp + 0xbc]
shl ecx, 0x10
or esi, ecx
movzx ecx, byte [ebp + ebx + 3]
mov dword [esp + 0xbc], ecx
shr ecx, 8
or ecx, edx
mov edx, dword [esp + 0xbc]
shl edx, 0x18
movzx edi, byte [ebp + ebx + 4]
or edi, ecx
movzx ecx, byte [ebp + ebx + 5]
shl ecx, 8
or edi, ecx
movzx ecx, byte [ebp + ebx + 6]
shl ecx, 0x10
or edi, ecx
movzx ecx, byte [ebp + ebx + 7]
shl ecx, 0x18
or esi, edx
or ecx, edi
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0xc0]
mov edi, dword [esp + 0xb8]
mov edx, ebp
mov edi, ebx
mov ebp, dword [esp + 0xb8]
mov ebx, ecx
mov ecx, dword [esp + 0x78]
mov ecx, dword [esp + 0xb4]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x40], eax
mov dword [esp + 0xb4], ebp
mov ebp, dword [esp + 0xb8]
sub eax, ebp
cmp ecx, eax
jb 0x65b8af
sub ecx, eax
sub edx, eax
neg edx
sar edx, 0x1f
and edx, eax
add edx, edi
cmp ecx, 3
jbe 0x65b8a5
cmp dword [edx], esi
jne 0x65b863
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x40]
lea ecx, [edx + 4]
mov eax, 0xb7a56463
mul esi
imul ebx, ebx, 0xb7a56463
add edx, ebx
imul ebx, esi, 0xcf1bbcdc
nop
nop
add edx, ebx
mov ebx, dword [esp + 0x78]
cmp ebx, ecx
jb 0x65b89c
mov dword [esp + 0xbc], edx
mov dword [esp + 0x80], esi
mov ebp, dword [esp + 0x50]
lea eax, [ebp + 4]
mov esi, dword [esp + 0xc0]
mov edx, dword [esp + 0x40]
sub esi, edx
add esi, 0xfffffffc
mov dword [esp + 0x8c], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ecx, esi
mov esi, ebx
sub ebx, edx
add ecx, edi
cmp esi, eax
jb 0x65b895
mov dword [esp], ecx
lea ecx, [ebx - 4]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xc0]
sub ecx, ebp
sub esi, ebp
add ecx, 0xfffffffc
lea ebp, [esi - 4]
mov esi, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
add eax, edi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call fcn.00677510
mov eax, dword [esp + 0x51c]
mov ecx, dword [eax]
mov edx, dword [esp + 0x40]
add ecx, edx
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0xbc]
shr ebp, 0xa
lea esi, [eax + ebp*8 + 0x200030]
lea ebp, [eax + ebp*8 + 0x20002c]
mov edi, dword [ebp]
mov dword [ebp], ecx
mov dword [esi], edi
mov ecx, dword [eax]
add ecx, edx
lea ebp, [ebx + 1]
lea esi, [edx + ebx + 4]
mov edi, ebx
mov ebx, dword [esp + 0x80]
imul ebx, ebx, 0x9e3779b1
shr ebx, 0xe
lea edx, [eax + ebx*8 + 0x30]
lea ebx, [eax + ebx*8 + 0x2c]
mov eax, dword [ebx]
mov dword [ebx], ecx
mov dword [edx], eax
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xc4], 0
mov dword [esp + 0xcc], 1
mov dword [esp + 0x54], esi
mov ecx, dword [esp + 0x520]
mov ebx, dword [ecx + 0x18]
mov ebp, dword [ecx + 0x14]
inc ebp
mov eax, ebx
mov ebx, dword [esp + 0x40]
add ebx, edi
mov edx, dword [ecx + 0x10]
cmp eax, ebp
jae 0x65b7fd
mov dword [esp + 0x7c], esi
mov dword [esp + 0xac], ebx
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x716c80]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x520]
mov dword [ebx + 0x18], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65b7e4
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x10]
mov dword [edi + 4], ebp
mov dword [ebx + 0x10], ecx
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x7c]
mov ebp, edx
mov edx, ecx
mov ecx, dword [esp + 0x520]
mov dword [ecx + 0x14], ebp
dec ebp
shl ebp, 4
lea edi, [edx + ebp]
mov eax, esi
lea esi, [esp + 0xc4]
call fcn.00468be8
mov ecx, dword [esp + 0x3c]
cmp eax, ecx
jge 0x65b84c
mov ebp, dword [esp + 0x78]
cmp ebp, eax
jb 0x65b88e
mov esi, dword [esp + 0xc0]
sub esi, ebx
sub ebp, ebx
lea ebx, [ebp - 4]
lea ebp, [esi - 4]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
cmp ebx, 7
ja 0x65b542
jmp 0x65b882
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0xb4]
jmp 0x65b2b2
mov edx, edi
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0xb4]
mov ecx, esi
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0xb8]
jmp 0x6597ce
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov ecx, ebp
call fcn.00468520
mov ecx, esi
call fcn.00468520
mov eax, ecx
mov ecx, ebx
call fcn.00468520
mov eax, 3
call fcn.004684c0
call fcn.00468520
mov eax, 7
mov ecx, ebx
call fcn.004684c0
call fcn.00468520
mov eax, 7
call fcn.004684c0
mov eax, ebx
call fcn.00468520
mov eax, esi
mov ecx, ebp
call fcn.00468520
mov ecx, ebp
call fcn.00468500
mov eax, ebp
mov ecx, ebx
call fcn.004684c0
mov eax, esi
mov ecx, ebx
call fcn.004684c0
inc esi
mov dword [esp + 0xd8], esi
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x51c]
mov edi, edx
mov esi, ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x34], esi
cmp edi, ebp
jle 0x65b984
cmp esi, ecx
jle 0x65b984
lea edx, [edi - 1]
mov ebx, dword [esp + 0x78]
cmp ebx, edx
jbe 0x65be26
lea ecx, [esi - 1]
movzx edi, byte [eax + edi - 1]
cmp ebx, ecx
jbe 0x65be1d
lea esi, [eax + esi - 1]
xchg edi, eax
cmp byte [esi], al
xchg edi, eax
jne 0x65b972
mov esi, dword [esp + 0xd8]
cmp esi, 0x1fffe
jb 0x65b8f8
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x51c]
mov esi, dword [esp + 0x34]
jmp 0x65b984
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x51c]
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0x54]
nop
cmp esi, ebp
je 0x65babd
mov edi, dword [esp + 0xc0]
cmp esi, edi
ja 0x65be14
cmp esi, ebp
jb 0x65be0b
mov ecx, dword [esp + 0x520]
mov edx, dword [ecx + 0xc]
mov ebx, dword [ecx + 8]
sub esi, ebp
mov dword [esp + 0x8c], esi
add esi, ebx
sub edi, ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebp, edi
mov edi, dword [ecx + 4]
add ebp, eax
cmp edx, esi
jae 0x65ba23
mov dword [esp + 0x4f8], ebp
mov dword [esp + 0x88], ebx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc], eax
lea ecx, [0x6e4500]
mov dword [esp + 0x10], ecx
call fcn.0044e230
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x4f8]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], esi
mov dword [esp + 0x4f8], edi
lea eax, [edi + ebx]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x8c]
mov dword [esp + 8], eax
call fcn.00468df0
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x520]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x88]
mov dword [ecx + 0xc], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x65ba80
mov ebx, dword [esp + 0x4f8]
jmp 0x65ba94
call fcn.00468460
mov ebx, dword [esp + 0x4f8]
mov dword [edi], ebx
mov ebp, dword [ecx + 4]
mov dword [edi + 4], ebp
mov dword [ecx + 4], ebx
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x34]
sub ebp, ebx
mov dword [esp + 0xd4], ebp
mov eax, dword [esp + 0x4f4]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x51c]
mov ecx, dword [esp + 0x244]
mov dword [esp + 0xdc], ecx
mov ecx, dword [esp + 0x520]
mov ebp, dword [ecx + 0x18]
mov esi, dword [ecx + 0x14]
inc esi
mov edi, dword [ecx + 0x10]
cmp ebp, esi
jae 0x65bb52
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x716c80]
mov dword [esp + 0x10], eax
call fcn.0044e230
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x520]
mov dword [ebx + 0x18], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65bb2f
call fcn.00468460
mov dword [edi], ecx
mov ebp, dword [ebx + 0x10]
mov dword [edi + 4], ebp
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x4f4]
mov ebx, dword [esp + 0x51c]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x520]
mov edx, dword [esp + 0xac]
mov dword [ecx + 0x14], esi
lea ebp, [esi - 1]
shl ebp, 4
add edi, ebp
lea esi, [esp + 0xd4]
call fcn.00468be8
mov ecx, dword [esp + 0x240]
add ecx, dword [esp + 0x23c]
mov dword [esp + 0x54], ecx
mov ebp, dword [esp + 0x3c]
cmp ecx, ebp
jge 0x65bb97
mov dword [esp + 0x40], ecx
mov esi, dword [ebx]
add esi, edx
mov edi, dword [esp + 0xc0]
jmp 0x65bca5
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x4c]
jmp 0x65b2b2
mov dword [esp + 0x60], edx
movzx ebp, byte [eax + edi]
movzx ecx, byte [eax + edi + 1]
mov dword [esp + 0xbc], ecx
shl ecx, 8
or ebp, ecx
mov ecx, esi
mov esi, dword [esp + 0xbc]
shr esi, 0x18
movzx edx, byte [eax + edi + 2]
mov dword [esp + 0xbc], edx
shr edx, 0x10
or esi, edx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x10
or ebp, ebx
movzx ebx, byte [eax + edi + 3]
mov dword [esp + 0xbc], ebx
shr ebx, 8
or ebx, esi
mov esi, dword [esp + 0xbc]
shl esi, 0x18
or esi, ebp
mov ebp, eax
mov eax, 0xb7a56463
mul esi
imul eax, esi, 0xcf1bbcdc
add eax, edx
movzx edx, byte [ebp + edi + 4]
or edx, ebx
movzx ebx, byte [ebp + edi + 5]
shl ebx, 8
or ebx, edx
movzx edx, byte [ebp + edi + 6]
shl edx, 0x10
or edx, ebx
movzx ebx, byte [ebp + edi + 7]
shl ebx, 0x18
or ebx, edx
imul ebx, ebx, 0xb7a56463
nop
nop
add ebx, eax
shr ebx, 0xa
mov eax, ebp
mov ebp, dword [esp + 0x51c]
lea edx, [ebp + ebx*8 + 0x200030]
lea ebx, [ebp + ebx*8 + 0x20002c]
mov edi, dword [ebx]
mov dword [ebx], ecx
mov dword [edx], edi
imul edx, esi, 0x9e3779b1
shr edx, 0xe
lea ebx, [ebp + edx*8 + 0x30]
lea edx, [ebp + edx*8 + 0x2c]
mov esi, dword [edx]
mov dword [edx], ecx
mov dword [ebx], esi
lea esi, [ecx + 1]
mov ecx, dword [esp + 0x60]
lea edx, [ecx + 1]
mov edi, dword [esp + 0xc0]
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x40]
mov ecx, ebx
mov ebx, ebp
mov ebp, dword [esp + 0x3c]
lea ebp, [ecx - 1]
cmp edx, ebp
jge 0x65bcd6
nop
mov ebp, dword [esp + 0x78]
cmp edx, ebp
ja 0x65be02
sub ebp, edx
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, edx
cmp ebp, 7
ja 0x65bbae
jmp 0x65bdf6
mov ebp, dword [esp + 0x244]
cmp ebp, 2
jne 0x65bcf6
mov edx, dword [esp + 0x4c]
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb4]
jmp 0x65bd21
cmp ebp, 3
jne 0x65bd0f
mov edx, dword [esp + 0xb4]
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0x4c]
jmp 0x65bd21
mov edx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0xb4]
nop
mov ebx, dword [esp + 0x78]
cmp ebx, ecx
jb 0x65bded
sub ebx, ecx
sub edi, ecx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ecx
cmp ebx, 7
jbe 0x65bde1
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], ebp
movzx ebx, byte [eax + edi]
movzx ecx, byte [eax + edi + 1]
mov dword [esp + 0xbc], ecx
shl ecx, 8
or ecx, ebx
mov ebx, dword [esp + 0xbc]
shr ebx, 0x18
movzx edx, byte [eax + edi + 2]
mov dword [esp + 0xbc], edx
shr edx, 0x10
or ebx, edx
mov edx, dword [esp + 0xbc]
shl edx, 0x10
or ecx, edx
movzx edx, byte [eax + edi + 3]
mov dword [esp + 0xbc], edx
shr edx, 8
or ebx, edx
mov edx, dword [esp + 0xbc]
shl edx, 0x18
movzx ebp, byte [eax + edi + 4]
or ebx, ebp
movzx ebp, byte [eax + edi + 5]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [eax + edi + 6]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [eax + edi + 7]
shl ebp, 0x18
or ecx, edx
or ebx, ebp
mov edx, eax
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0x4c]
mov edi, esi
mov esi, dword [esp + 0x48]
jmp 0x6597ce
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov eax, ecx
mov ecx, ebx
call fcn.00468520
mov eax, 7
mov ecx, ebp
call fcn.004684c0
mov eax, edx
mov ecx, ebp
call fcn.00468520
mov eax, ebp
mov ecx, esi
call fcn.00468520
mov ecx, esi
mov edx, edi
call fcn.00468500
mov eax, ecx
mov ecx, ebx
call fcn.004684c0
mov eax, edx
mov ecx, ebx
call fcn.004684c0
mov eax, 3
mov ecx, esi
call fcn.004684c0
mov eax, ebp
mov ecx, esi
call fcn.00468520
mov eax, 3
mov ecx, edi
call fcn.004684c0
mov eax, esi
mov ecx, edi
call fcn.00468520
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov eax, ebp
mov ecx, ebx
call fcn.00468520
mov eax, 7
mov ecx, edi
call fcn.004684c0
mov eax, ecx
mov ecx, esi
call fcn.00468520
mov eax, 7
call fcn.004684c0
mov eax, ebx
mov ecx, esi
call fcn.00468520
mov eax, 7
call fcn.004684c0
call fcn.00468520
mov eax, 7
mov ecx, edx
call fcn.004684c0
call fcn.00468520
mov dword [ebp], ebx
mov dword [ebp + 4], esi
inc edx
cmp edx, 0x40000
jge 0x65beff
lea ebx, [eax + edx*8 + 0x2c]
mov ebx, dword [ebx]
lea ebp, [eax + edx*8 + 0x2c]
lea esi, [eax + edx*8 + 0x30]
cmp ebx, ecx
jge 0x65bedd
xor ebx, ebx
xor esi, esi
jmp 0x65beb6
mov esi, dword [esi]
mov edi, dword [eax]
sub ebx, edi
mov eax, dword [eax + 4]
add ebx, eax
cmp esi, ecx
jge 0x65bef0
xor eax, eax
jmp 0x65bef4
sub esi, edi
add eax, esi
mov esi, eax
mov eax, dword [esp + 0x51c]
jmp 0x65beb6
xor edx, edx
jmp 0x65bf0a
mov dword [ebp], ebx
mov dword [ebp + 4], esi
inc edx
cmp edx, 0x400000
jge 0x65bf55
lea ebx, [eax + edx*8 + 0x20002c]
mov ebx, dword [ebx]
lea ebp, [eax + edx*8 + 0x20002c]
lea esi, [eax + edx*8 + 0x200030]
cmp ebx, ecx
jge 0x65bf33
xor ebx, ebx
xor esi, esi
jmp 0x65bf03
mov esi, dword [esi]
mov edi, dword [eax]
sub ebx, edi
mov eax, dword [eax + 4]
add ebx, eax
cmp esi, ecx
jge 0x65bf46
xor eax, eax
jmp 0x65bf4a
sub esi, edi
add eax, esi
mov esi, eax
mov eax, dword [esp + 0x51c]
jmp 0x65bf03
mov ecx, dword [eax + 4]
mov dword [eax], ecx
jmp 0x65961c
lea edx, [eax + ecx*8 + 0x2c]
mov dword [edx], 0
lea edx, [eax + ecx*8 + 0x30]
mov dword [edx], 0
inc ecx
cmp ecx, 0x40000
jl 0x65bf5f
xor ecx, ecx
jmp 0x65bf9b
lea edx, [eax + ecx*8 + 0x20002c]
mov dword [edx], 0
lea edx, [eax + ecx*8 + 0x200030]
mov dword [edx], 0
inc ecx
cmp ecx, 0x400000
jl 0x65bf80
mov ecx, dword [eax + 4]
mov dword [eax], ecx
jmp 0x65961c
call fcn.00467050
jmp fcn.006595d0