Function at 0x65c790
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 - 0x84]
cmp eax, dword [ecx + 8]
jbe 0x65ee5f
sub esp, 0x104
mov eax, dword [esp + 0x108]
mov ecx, dword [eax]
cmp ecx, 0x5fffffff
jl 0x65c7dc
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x65c7d0
xor ecx, ecx
jmp 0x65ee26
add ecx, edx
sub ecx, dword [eax + 4]
xor edx, edx
jmp 0x65ed8e
mov dword [esp], eax
mov ecx, dword [esp + 0x110]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x114]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x118]
mov dword [esp + 0xc], ebx
call fcn.00658cd0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x10c]
mov dword [edx], ecx
cmp ecx, 0x10
jl 0x65c90c
mov ebx, dword [esp + 0x108]
mov ecx, dword [ebx + 0xc]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
mov dword [esp + 0x44], eax
nop
cmp ecx, eax
jb 0x65ed85
mov dword [esp + 0x70], esi
mov edi, ecx
sub edi, eax
sub esi, eax
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
cmp edi, 7
jbe 0x65ed79
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0xf4], ebp
movzx edi, byte [ebp + esi]
movzx ebx, byte [ebp + esi + 1]
mov dword [esp + 0xc0], ebx
shl ebx, 8
or edi, ebx
mov ebx, dword [esp + 0xc0]
shr ebx, 0x18
movzx eax, byte [ebp + esi + 2]
mov dword [esp + 0xc0], eax
shl eax, 0x10
or edi, eax
mov dword [esp + 0xbc], edi
mov edi, dword [esp + 0xc0]
shr edi, 0x10
or ebx, edi
movzx edi, byte [ebp + esi + 3]
mov dword [esp + 0xc0], edi
shr edi, 8
or edi, ebx
mov ebx, dword [esp + 0xc0]
shl ebx, 0x18
movzx eax, byte [ebp + esi + 4]
or eax, edi
movzx edi, byte [ebp + esi + 5]
shl edi, 8
or eax, edi
movzx edi, byte [ebp + esi + 6]
shl edi, 0x10
or eax, edi
movzx esi, byte [ebp + esi + 7]
shl esi, 0x18
lea edi, [ecx - 0xa]
mov dword [esp + 0x30], edi
mov edi, dword [edx + 0x64]
mov ebp, dword [edx + 0x68]
mov edx, dword [esp + 0xbc]
or edx, ebx
or eax, esi
mov ebx, dword [esp + 0x34]
jmp 0x65c953
mov dword [edx + 0x54], ecx
mov eax, dword [edx + 0xc]
cmp ecx, eax
ja 0x65c93e
mov dword [edx + 8], ecx
mov eax, dword [edx + 4]
mov edx, dword [esp + 0x110]
cmp edx, eax
je 0x65c937
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00468df0
add esp, 0x104
ret
mov edx, eax
call fcn.00468500
mov edi, ebp
mov ebp, esi
mov ebx, edx
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebp
mov esi, dword [esp + 0x10c]
mov esi, dword [esi + 0x14]
mov dword [esp + 0xc0], esi
jmp 0x65d9d1
mov edx, dword [esp + 0x34]
lea edi, [edx + 8]
mov ecx, dword [esp + 0x6c]
cmp ecx, edi
jb 0x65e7ac
mov esi, dword [esp + 0xb4]
lea ebp, [esi + 8]
mov esi, dword [esp + 0x70]
sub esi, edx
add esi, 0xfffffff8
mov dword [esp + 0xa4], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and edi, esi
lea esi, [ebx + edi]
mov edi, ecx
sub edi, edx
cmp ecx, ebp
jb 0x65e7a5
mov dword [esp + 0xfc], esi
mov dword [esp], esi
sub edx, eax
mov dword [esp + 0xb0], edx
add edi, 0xfffffff8
mov dword [esp + 0xa0], edi
mov dword [esp + 4], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 8], edi
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0xb4]
sub edi, esi
sub ecx, esi
add edi, 0xfffffff8
mov dword [esp + 0x9c], edi
add ecx, 0xfffffff8
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebp, edi
add ebp, ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
call fcn.00677510
mov eax, dword [esp + 0x18]
add eax, 8
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x108]
cmp dword [edx + 4], ecx
jle 0x65cbbd
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x28]
cmp ecx, ebx
jb 0x65e79e
mov ebp, ecx
sub ebp, ebx
mov esi, ebp
mov ebp, dword [esp + 0x70]
sub ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
cmp esi, 7
jbe 0x65e792
mov ebx, dword [esp + 0xf4]
movzx esi, byte [ebx + ebp]
movzx edx, byte [ebx + ebp + 1]
mov dword [esp + 0xbc], edx
shl edx, 8
or esi, edx
mov edx, ebx
mov ebx, dword [esp + 0xbc]
shr ebx, 0x18
movzx edi, byte [edx + ebp + 2]
mov dword [esp + 0xbc], edi
shr edi, 0x10
or edi, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x10
or esi, ebx
movzx ebx, byte [edx + ebp + 3]
mov dword [esp + 0xbc], ebx
shr ebx, 8
or ebx, edi
mov edi, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x18
or esi, ebx
movzx ebx, byte [edx + ebp + 4]
or ebx, edi
movzx edi, byte [edx + ebp + 5]
shl edi, 8
or ebx, edi
movzx edi, byte [edx + ebp + 6]
shl edi, 0x10
or ebx, edi
movzx ebp, byte [edx + ebp + 7]
shl ebp, 0x18
or ebx, ebp
mov ebp, dword [esp + 0x64]
cmp ebp, ebx
sete bl
mov ebp, dword [esp + 0x60]
cmp ebp, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x65cb26
mov ebx, dword [esp + 0xb4]
jmp 0x65cbcf
mov ebx, dword [esp + 0x28]
lea ebp, [ebx + 8]
cmp ecx, ebp
jb 0x65e78b
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
sub eax, ebx
sub ecx, ebx
add eax, 0xfffffff8
mov dword [esp + 0xa4], eax
add ecx, 0xfffffff8
neg eax
sar eax, 0x1f
and ebp, eax
lea eax, [edx + ebp]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
call fcn.00677510
mov eax, dword [esp + 0x18]
add eax, 8
mov ecx, dword [esp + 0x48]
cmp eax, ecx
jle 0x65cba5
mov ecx, dword [esp + 0x28]
jmp 0x65cbae
mov eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xf4]
mov ebx, ecx
mov ecx, dword [esp + 0x6c]
jmp 0x65cbcf
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x34]
jmp 0x65d252
mov edx, dword [esp + 0x34]
lea eax, [edx + 8]
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jb 0x65e773
mov ebp, dword [esp + 0x28]
lea esi, [ebp + 8]
mov edi, dword [esp + 0x70]
sub edi, edx
add edi, 0xfffffff8
mov dword [esp + 0xa4], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
mov edi, ecx
sub edi, edx
add eax, ebx
cmp ecx, esi
jb 0x65e76c
mov dword [esp], eax
lea eax, [edi - 8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
sub eax, ebp
sub ecx, ebp
add eax, 0xfffffff8
mov dword [esp + 0xa4], eax
add ecx, 0xfffffff8
neg eax
sar eax, 0x1f
and esi, eax
lea eax, [ebx + esi]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
call fcn.00677510
mov eax, dword [esp + 0x18]
add eax, 8
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x28]
jmp 0x65d252
lea eax, [ebp + 4]
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jb 0x65e767
lea esi, [edx + 4]
mov edi, dword [esp + 0x70]
sub edi, ebp
mov dword [esp + 0xb4], edi
add edi, 0xfffffffc
mov dword [esp + 0xa4], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
mov edi, ecx
sub edi, ebp
add eax, ebx
cmp ecx, esi
jb 0x65e760
mov dword [esp + 0x28], edx
mov dword [esp + 0xb0], edi
mov dword [esp], eax
lea eax, [ebp + 1]
mov dword [esp + 0x5c], eax
lea ebp, [edi - 4]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0xa4]
mov dword [esp + 8], ebp
sub ecx, edx
mov edi, dword [esp + 0x70]
sub edi, edx
add edi, 0xfffffffc
mov dword [esp + 0xa4], edi
add ecx, 0xfffffffc
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
add esi, ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
call fcn.00677510
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x5c]
cmp ecx, eax
jb 0x65e75b
mov ebx, dword [esp + 0xb0]
lea ebp, [ebx - 1]
mov ebx, dword [esp + 0xb4]
lea esi, [ebx - 1]
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
cmp ebp, 7
jbe 0x65e74f
mov ebp, dword [esp + 0xf4]
movzx edi, byte [ebp + esi]
movzx eax, byte [ebp + esi + 1]
mov dword [esp + 0xbc], eax
shl eax, 8
or edi, eax
mov ebx, dword [esp + 0xbc]
shr ebx, 0x18
movzx edx, byte [ebp + esi + 2]
mov dword [esp + 0xbc], edx
shl edx, 0x10
or edi, edx
mov edx, ebp
mov ebp, dword [esp + 0xbc]
shr ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + esi + 3]
mov dword [esp + 0xbc], ebp
shr ebp, 8
or ebp, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x18
or edi, ebx
mov dword [esp + 0xbc], edi
mov eax, 0xb7a56463
mul edi
imul eax, edi, 0xcf1bbcdc
mov ebx, dword [esp + 0xf4]
movzx edi, byte [ebx + esi + 4]
or edi, ebp
movzx ebp, byte [ebx + esi + 5]
shl ebp, 8
or edi, ebp
movzx ebp, byte [ebx + esi + 6]
shl ebp, 0x10
or edi, ebp
movzx ebp, byte [ebx + esi + 7]
shl ebp, 0x18
or edi, ebp
imul ebp, edi, 0xb7a56463
add ebp, edx
nop
add ebp, eax
mov dword [esp + 0xb8], edi
mov ebx, dword [esp + 0x108]
mov edx, dword [ebx]
mov esi, ebx
mov ebx, dword [esp + 0x34]
lea edi, [ebx + edx + 1]
mov dword [esp + 0xac], edi
mov eax, dword [esp + 0x18]
shr ebp, 0xd
lea ecx, [esi + ebp*8 + 0x1002c]
mov dword [esp + 0xf8], ecx
mov edi, dword [ecx]
mov dword [esp + 0xa8], edi
lea ecx, [esi + ebp*8 + 0x1002c]
lea ebp, [esi + ebp*8 + 0x10030]
sub edi, edx
mov edx, ebx
sub ebx, edi
mov dword [esp + 0x98], ebx
add eax, 4
mov dword [esp + 0x94], eax
mov ebx, dword [esp + 0xf8]
mov ebx, dword [ebx + 4]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0xac]
mov dword [ecx], ebx
mov ebx, dword [esp + 0xa8]
mov dword [ebp], ebx
mov ebx, dword [esi + 4]
mov ebp, dword [esp + 0x98]
cmp ebx, ebp
jle 0x65d06a
mov ecx, dword [esp + 0x6c]
cmp ecx, edi
jb 0x65e748
mov ebx, ecx
sub ebx, edi
mov ebp, dword [esp + 0x70]
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
cmp ebx, 7
jbe 0x65e73c
mov dword [esp + 0xac], edi
mov ebx, dword [esp + 0xf4]
movzx edi, byte [ebx + ebp]
movzx eax, byte [ebx + ebp + 1]
mov dword [esp + 0x8c], eax
shl eax, 8
or edi, eax
mov eax, ebx
mov ebx, dword [esp + 0x8c]
shr ebx, 0x18
movzx ecx, byte [eax + ebp + 2]
mov dword [esp + 0x8c], ecx
shl ecx, 0x10
or edi, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x8c]
shr ebp, 0x10
or ebx, ebp
movzx ebp, byte [eax + ecx + 3]
mov dword [esp + 0x8c], ebp
shr ebp, 8
or ebp, ebx
mov ebx, dword [esp + 0x8c]
shl ebx, 0x18
or edi, ebx
movzx ebx, byte [eax + ecx + 4]
or ebx, ebp
movzx ebp, byte [eax + ecx + 5]
shl ebp, 8
or ebx, ebp
movzx ebp, byte [eax + ecx + 6]
shl ebp, 0x10
or ebx, ebp
movzx ebp, byte [eax + ecx + 7]
shl ebp, 0x18
or ebx, ebp
mov ebp, dword [esp + 0xb8]
cmp ebx, ebp
sete bl
mov ecx, ebp
mov ebp, dword [esp + 0xbc]
cmp edi, ebp
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x65d07f
lea ebx, [edx + 9]
mov edi, dword [esp + 0x6c]
cmp edi, ebx
jb 0x65e733
mov ebp, dword [esp + 0xac]
lea ecx, [ebp + 8]
mov edx, dword [esp + 0xb4]
add edx, 0xfffffff7
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and ebx, edx
lea edx, [eax + ebx]
cmp edi, ecx
jb 0x65e72a
mov dword [esp], edx
mov edx, dword [esp + 0xb0]
lea ebx, [edx - 9]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x70]
sub ebx, ebp
sub edi, ebp
add ebx, 0xfffffff8
mov dword [esp + 0xa4], ebx
add edi, 0xfffffff8
neg ebx
sar ebx, 0x1f
and ecx, ebx
add ecx, eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edi
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
call fcn.00677510
mov eax, dword [esp + 0x18]
add eax, 8
mov ecx, dword [esp + 0x94]
cmp eax, ecx
jle 0x65d048
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0xac]
jmp 0x65d252
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xb8]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0xbc]
mov esi, dword [esp + 0x108]
jmp 0x65d07f
mov eax, dword [esp + 0xf4]
mov ecx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xbc]
mov ebx, dword [esp + 0x90]
sub ebx, dword [esi]
mov edi, edx
sub edx, ebx
cmp dword [esi + 4], edx
jle 0x65d241
mov edx, ebp
mov ebp, dword [esp + 0x6c]
cmp ebp, ebx
jb 0x65e721
mov dword [esp + 0x58], ebx
sub ebp, ebx
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x70]
sub ebp, ebx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
mov ebx, dword [esp + 0x68]
cmp ebx, 7
jbe 0x65e715
movzx ebx, byte [eax + ebp]
movzx esi, byte [eax + ebp + 1]
mov dword [esp + 0xbc], esi
shl esi, 8
or ebx, esi
mov esi, ebx
mov ebx, dword [esp + 0xbc]
shr ebx, 0x18
movzx edi, byte [eax + ebp + 2]
mov dword [esp + 0xbc], edi
shr edi, 0x10
or ebx, edi
mov edi, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x10
or esi, ebx
movzx ebx, byte [eax + ebp + 3]
mov dword [esp + 0xbc], ebx
shr ebx, 8
or ebx, edi
mov edi, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x18
or esi, ebx
movzx ebx, byte [eax + ebp + 4]
or ebx, edi
movzx edi, byte [eax + ebp + 5]
shl edi, 8
or ebx, edi
movzx edi, byte [eax + ebp + 6]
shl edi, 0x10
or ebx, edi
movzx ebp, byte [eax + ebp + 7]
shl ebp, 0x18
or ebx, ebp
cmp esi, edx
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ebx, ecx
sete bl
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x65d175
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x34]
jmp 0x65d241
mov edx, dword [esp + 0x34]
lea ebx, [edx + 9]
mov ecx, dword [esp + 0x6c]
cmp ecx, ebx
jb 0x65e70e
mov ebp, dword [esp + 0x58]
lea esi, [ebp + 8]
mov edi, dword [esp + 0xb4]
add edi, 0xfffffff7
mov dword [esp + 0xa4], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, eax
cmp ecx, esi
jb 0x65e707
mov dword [esp], ebx
mov edx, dword [esp + 0xb0]
add edx, 0xfffffff7
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x70]
sub edx, ebp
sub ecx, ebp
add edx, 0xfffffff8
mov dword [esp + 0xa4], edx
add ecx, 0xfffffff8
neg edx
sar edx, 0x1f
and esi, edx
lea edx, [eax + esi]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
call fcn.00677510
mov eax, dword [esp + 0x18]
add eax, 8
mov ecx, dword [esp + 0x94]
cmp eax, ecx
jle 0x65d22f
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0xf4]
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x58]
jmp 0x65d252
mov eax, dword [esp + 0xf4]
mov esi, dword [esp + 0x108]
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x6c]
mov edx, eax
mov eax, dword [esp + 0x94]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], edi
lea ebp, [eax + edi]
mov esi, ebx
mov ebx, dword [esp + 0x30]
cmp ebx, ebp
jle 0x65d63c
nop
cmp ecx, ebp
jb 0x65e700
sub ecx, ebp
mov ebx, dword [esp + 0x70]
sub ebx, ebp
neg ebx
sar ebx, 0x1f
and ebp, ebx
cmp ecx, 7
jbe 0x65e6f6
mov dword [esp + 0x88], eax
mov dword [esp + 0xb4], esi
movzx ebx, byte [edx + ebp]
movzx ecx, byte [edx + ebp + 1]
mov dword [esp + 0xbc], ecx
shl ecx, 8
or ebx, ecx
mov ecx, ebx
mov ebx, dword [esp + 0xbc]
shr ebx, 0x18
movzx esi, byte [edx + ebp + 2]
mov dword [esp + 0xbc], esi
shl esi, 0x10
or ecx, esi
mov esi, ebp
mov ebp, dword [esp + 0xbc]
shr ebp, 0x10
or ebx, ebp
movzx ebp, byte [edx + esi + 3]
mov dword [esp + 0xbc], ebp
shr ebp, 8
or ebp, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x18
or ecx, ebx
mov eax, ecx
mov ebx, 0xb7a56463
mul ebx
imul eax, ecx, 0xcf1bbcdc
mov ebx, dword [esp + 0xf4]
movzx ecx, byte [ebx + esi + 4]
or ecx, ebp
movzx ebp, byte [ebx + esi + 5]
shl ebp, 8
or ecx, ebp
movzx ebp, byte [ebx + esi + 6]
shl ebp, 0x10
or ecx, ebp
movzx ebp, byte [ebx + esi + 7]
shl ebp, 0x18
or ecx, ebp
imul ebp, ecx, 0xb7a56463
add ebp, edx
nop
nop
add ebp, eax
mov ecx, dword [esp + 0x6c]
cmp edi, ecx
ja 0x65e6ef
mov eax, ecx
sub eax, edi
mov edx, dword [esp + 0x70]
mov esi, edx
sub esi, edi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
cmp eax, 3
jbe 0x65e6e3
mov eax, dword [ebx + esi]
mov dword [esp + 0xbc], eax
shr ebp, 0xd
mov esi, ebx
mov ebx, dword [esp + 0x108]
lea ebp, [ebx + ebp*8 + 0x1002c]
mov eax, dword [ebp]
sub eax, dword [ebx]
mov ebx, dword [esp + 0x88]
sub eax, ebx
mov ebp, dword [ebp + 4]
test eax, eax
jl 0x65d4e3
cmp edi, eax
jle 0x65d4da
mov dword [esp + 0xb0], ebp
sub edi, eax
mov ebp, dword [esp + 0x108]
cmp dword [ebp + 4], edi
jle 0x65d4c6
mov edi, edx
sub edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
sub ecx, eax
add edi, esi
cmp ecx, 3
jbe 0x65e6d9
mov ebp, dword [esp + 0xbc]
cmp dword [edi], ebp
je 0x65d3ff
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0xb4]
jmp 0x65d4ea
mov edi, dword [esp + 0x34]
lea ebp, [edi + 4]
mov ebx, dword [esp + 0x6c]
cmp ebx, ebp
jb 0x65e6d0
lea ecx, [eax + 4]
sub edx, edi
add edx, 0xfffffffc
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and ebp, edx
mov edx, ebx
sub ebx, edi
add ebp, esi
cmp edx, ecx
jb 0x65e6c7
mov dword [esp + 0x28], eax
mov dword [esp], ebp
add ebx, 0xfffffffc
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x70]
sub ebx, eax
sub edx, eax
add ebx, 0xfffffffc
mov dword [esp + 0xa4], ebx
add edx, 0xfffffffc
neg ebx
sar ebx, 0x1f
and ecx, ebx
add ecx, esi
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x14], ecx
call fcn.00677510
mov eax, dword [esp + 0x18]
add eax, 4
mov ecx, dword [esp + 0x88]
cmp ecx, eax
jge 0x65d49d
mov ecx, dword [esp + 0x28]
jmp 0x65d4a6
mov eax, ecx
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0x34]
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x6c]
jmp 0x65d4ea
mov ebp, dword [esp + 0xb0]
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0xb4]
jmp 0x65d4ea
mov eax, dword [esp + 0xb4]
jmp 0x65d4ea
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x108]
sub ebp, dword [ebx]
mov ebx, dword [esp + 0xb4]
sub ebp, ebx
test ebp, ebp
jl 0x65d64b
cmp edi, ebp
jle 0x65d64b
sub edi, ebp
mov ebx, dword [esp + 0x108]
cmp dword [ebx + 4], edi
jle 0x65d62f
mov edi, edx
sub edi, ebp
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebp
sub ecx, ebp
add edi, esi
cmp ecx, 3
jbe 0x65e6bd
mov ecx, ebp
mov ebp, dword [esp + 0xbc]
cmp dword [edi], ebp
je 0x65d562
mov ecx, dword [esp + 0x6c]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0xb4]
jmp 0x65d64b
mov ebp, dword [esp + 0x34]
lea edi, [ebp + 4]
mov ebx, dword [esp + 0x6c]
cmp ebx, edi
jb 0x65e6b4
mov dword [esp + 0x84], eax
lea eax, [ecx + 4]
sub edx, ebp
add edx, 0xfffffffc
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and edi, edx
mov edx, ebx
sub ebx, ebp
add edi, esi
cmp edx, eax
jb 0x65e6ad
mov dword [esp + 0xb0], ecx
mov dword [esp], edi
add ebx, 0xfffffffc
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x70]
sub ebx, ecx
sub edx, ecx
add ebx, 0xfffffffc
mov dword [esp + 0xa4], ebx
add edx, 0xfffffffc
neg ebx
sar ebx, 0x1f
and eax, ebx
add eax, esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x14], eax
call fcn.00677510
mov eax, dword [esp + 0x18]
add eax, 4
mov ecx, dword [esp + 0xb4]
cmp ecx, eax
jge 0x65d60d
mov ecx, dword [esp + 0xb0]
jmp 0x65d616
mov eax, ecx
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x70]
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0x34]
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0x6c]
jmp 0x65d64b
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0xb4]
jmp 0x65d64b
mov edx, dword [esp + 0x70]
mov ebx, eax
mov eax, esi
mov esi, dword [esp + 0xf4]
mov ebp, dword [esp + 0x108]
mov ebp, dword [ebp + 4]
sub edi, ebp
mov ebp, dword [esp + 0x34]
sub ebp, eax
test edi, edi
jge 0x65d663
xor edi, edi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0x20], edi
jmp 0x65e09a
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x34]
jmp 0x65d693
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x70]
mov ebp, dword [esp + 0x34]
jmp 0x65d693
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov edi, dword [esp + 0x44]
sub ebp, edi
mov dword [esp + 0xd4], ebp
lea ebp, [ebx - 3]
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0xd4]
test ebp, ebp
jbe 0x65d802
mov ebp, dword [esp + 0x34]
cmp ebp, edx
ja 0x65e698
mov edi, dword [esp + 0x44]
cmp ebp, edi
jb 0x65e68f
mov ecx, dword [esp + 0x10c]
mov ebx, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
sub ebp, edi
mov dword [esp + 0xa4], ebp
add ebp, eax
sub edx, edi
neg edx
sar edx, 0x1f
and edi, edx
mov edx, dword [ecx + 4]
add edi, esi
cmp ebx, ebp
jae 0x65d778
mov dword [esp + 0xa0], eax
mov dword [esp + 0xfc], edi
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xa4]
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 ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xa0]
mov edi, dword [esp + 0xfc]
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xfc], edx
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], edi
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.00468df0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0xc], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x65d7d4
mov edx, dword [esp + 0xfc]
jmp 0x65d7e8
call fcn.00468460
mov edx, dword [esp + 0xfc]
mov dword [edi], edx
mov ebx, dword [ecx + 4]
mov dword [edi + 4], ebx
mov dword [ecx + 4], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0xf4]
mov ebp, dword [esp + 0x34]
mov edi, ebp
sub ebp, eax
add ebp, 3
mov dword [esp + 0xdc], ebp
mov ebp, dword [esp + 0x10c]
mov eax, dword [ebp + 0x18]
mov esi, dword [ebp + 0x14]
inc esi
lea edx, [edi + ebx]
mov dword [esp + 0xb0], edx
mov ecx, dword [ebp + 0x10]
cmp eax, esi
jae 0x65d89d
mov dword [esp], ecx
mov dword [esp + 4], esi
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 + 0x10c]
mov dword [ebx + 0x18], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65d882
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 + 0x4c]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x34]
mov esi, edx
mov edx, dword [esp + 0xb0]
mov dword [ebp + 0x14], esi
lea eax, [esi - 1]
shl eax, 4
add ecx, eax
lea esi, [esp + 0xd4]
mov eax, edi
mov edi, ecx
call fcn.00468be8
mov dword [esp + 0x44], edx
mov ecx, dword [esp + 0x30]
cmp ecx, edx
jle 0x65e0e9
lea esi, [eax + 1]
mov edi, dword [esp + 0x70]
jmp 0x65e278
nop
mov ecx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x65e677
mov ebx, ecx
sub ebx, edx
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, edx
cmp ebx, 7
jbe 0x65e66b
mov ebx, dword [esp + 0xf4]
movzx eax, byte [edi + ebx]
movzx ebp, byte [edi + ebx + 1]
mov dword [esp + 0xbc], ebp
shr ebp, 0x18
mov esi, dword [esp + 0xbc]
shl esi, 8
or eax, esi
movzx esi, byte [edi + ebx + 2]
mov dword [esp + 0xbc], esi
shl esi, 0x10
or eax, esi
mov esi, dword [esp + 0xbc]
shr esi, 0x10
or ebp, esi
movzx esi, byte [edi + ebx + 3]
mov dword [esp + 0xbc], esi
shr esi, 8
or esi, ebp
mov ebp, dword [esp + 0xbc]
shl ebp, 0x18
movzx ecx, byte [edi + ebx + 4]
or ecx, esi
movzx esi, byte [edi + ebx + 5]
shl esi, 8
or ecx, esi
movzx esi, byte [edi + ebx + 6]
shl esi, 0x10
or ecx, esi
movzx esi, byte [edi + ebx + 7]
shl esi, 0x18
or eax, ebp
or ecx, esi
mov ebp, dword [esp + 0xc0]
cmp ebp, 2
jle 0x65d9a0
mov esi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0xb4]
jmp 0x65e359
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x40]
jmp 0x65c945
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x3c]
mov edx, esi
mov ebx, eax
mov esi, dword [esp + 0xc0]
mov eax, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x60], edx
mov dword [esp + 0x64], eax
shl edx, 0x18
mov dword [esp + 0xbc], edx
mov ebp, dword [esp + 0x60]
shr ebp, 8
shl eax, 0x18
or ebp, eax
mov dword [esp + 0xb8], ebp
mov eax, 0x1bbcdcbb
mul edx
mov esi, dword [esp + 0xbc]
imul esi, esi, 0xcf
add edx, esi
mov dword [esp + 0xbc], edx
imul esi, ebp, 0x1bbcdcbb
mov eax, 0xb7a56463
mov ebp, dword [esp + 0x60]
mul ebp
mov edi, dword [esp + 0x64]
imul edi, edi, 0xb7a56463
add edx, edi
imul edi, ebp, 0xcf1bbcdc
nop
mov ebp, dword [esp + 0xbc]
add ebp, esi
add edx, edi
shr edx, 0xd
mov esi, dword [esp + 0x108]
lea edi, [esi + edx*8 + 0x1002c]
mov ecx, dword [edi + 4]
mov dword [esp + 0xb4], ecx
lea ecx, [esi + edx*8 + 0x1002c]
lea edx, [esi + edx*8 + 0x10030]
mov dword [esp + 0x100], edx
mov dword [esp + 0x34], ebx
mov edi, dword [edi]
mov eax, dword [esi]
add eax, ebx
shr ebp, 0x13
lea ebx, [esi + ebp*8 + 0x2c]
lea edx, [esi + ebp*8 + 0x2c]
lea ebp, [esi + ebp*8 + 0x30]
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [esp + 0xb0], ebx
mov dword [ecx], eax
mov ecx, esi
mov esi, dword [esp + 0x100]
mov dword [esi], edi
mov esi, dword [esp + 0x60]
mov dword [edx], esi
mov dword [ebp], eax
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
mov eax, edx
sub edx, ebp
mov ebp, dword [esp + 0xc0]
cmp ebp, 2
jle 0x65dc2e
lea ebp, [edx + 1]
test ebp, ebp
jl 0x65dc27
mov esi, dword [esp + 0x6c]
cmp esi, ebp
jb 0x65ed70
mov dword [esp + 0x38], ebp
mov ebx, dword [esp + 0x70]
sub ebx, edx
mov dword [esp + 0xac], ebx
sub esi, edx
mov dword [esp + 0xa8], esi
dec esi
dec ebx
neg ebx
sar ebx, 0x1f
and ebx, ebp
mov ebp, dword [esp + 0xf4]
add ebx, ebp
cmp esi, 3
jbe 0x65ed64
mov esi, dword [esp + 0xb8]
cmp dword [ebx], esi
je 0x65db30
mov ebx, dword [esp + 0xb0]
mov esi, dword [esp + 0x60]
jmp 0x65dc27
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
lea ebx, [eax + 5]
mov ecx, dword [esp + 0x6c]
cmp ecx, ebx
jb 0x65ed5d
add edx, 5
mov esi, dword [esp + 0x70]
sub esi, eax
add esi, 0xfffffffb
mov dword [esp + 0xa4], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebx, esi
mov esi, ecx
sub esi, eax
add ebx, ebp
cmp ecx, edx
jb 0x65ed56
mov dword [esp], ebx
lea eax, [esi - 5]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xac]
add eax, 0xfffffffb
mov ecx, dword [esp + 0xa8]
add ecx, 0xfffffffb
mov ebx, eax
neg eax
sar eax, 0x1f
and edx, eax
lea eax, [ebp + edx]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebx
call fcn.00677510
mov eax, dword [esp + 0x18]
lea ecx, [eax + 1]
mov dword [esp + 0xe8], ecx
mov ecx, dword [esp + 0x108]
mov edx, dword [ecx + 4]
mov ebx, dword [esp + 0x34]
mov ebp, ebx
sub ebx, edx
test ebx, ebx
jge 0x65dc04
xor ebx, ebx
mov dword [esp + 0xa4], eax
mov dword [esp + 0x24], ebx
mov edx, dword [esp + 0x44]
lea esi, [ebp + 1]
mov dword [esp + 0x2c], esi
inc edx
mov edi, dword [esp + 0xf4]
jmp 0x65e7ee
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0xbc], ecx
mov edx, dword [esp + 0x108]
mov ebp, dword [edx]
mov dword [esp + 0xac], ebp
sub edi, ebp
sub eax, edi
mov edx, dword [edx + 4]
mov esi, dword [esp + 0xb4]
sub esi, ebp
mov dword [esp + 0x28], esi
cmp edx, eax
jle 0x65dd3c
mov ebx, dword [esp + 0x6c]
cmp ebx, edi
jb 0x65e7bf
sub ebx, edi
mov ebp, dword [esp + 0x70]
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
cmp ebx, 7
jbe 0x65e7b3
mov dword [esp + 0xb4], edi
mov ebx, dword [esp + 0xf4]
movzx edi, byte [ebx + ebp]
movzx ecx, byte [ebx + ebp + 1]
mov dword [esp + 0xb8], ecx
shl ecx, 8
or edi, ecx
mov ecx, edx
mov edx, dword [esp + 0xb8]
shr edx, 0x18
movzx eax, byte [ebx + ebp + 2]
mov dword [esp + 0xb8], eax
shl eax, 0x10
or edi, eax
mov eax, esi
mov esi, dword [esp + 0xb8]
shr esi, 0x10
or edx, esi
movzx esi, byte [ebx + ebp + 3]
mov dword [esp + 0xb8], esi
shr esi, 8
or esi, edx
mov edx, dword [esp + 0xb8]
shl edx, 0x18
or edi, edx
movzx edx, byte [ebx + ebp + 4]
or edx, esi
movzx esi, byte [ebx + ebp + 5]
shl esi, 8
or edx, esi
movzx esi, byte [ebx + ebp + 6]
shl esi, 0x10
or edx, esi
movzx ebp, byte [ebx + ebp + 7]
shl ebp, 0x18
or edx, ebp
mov ebp, dword [esp + 0x64]
cmp ebp, edx
sete dl
mov esi, dword [esp + 0x60]
cmp esi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x65dd4f
jmp 0x65c971
mov eax, esi
mov ecx, edx
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x34]
mov edi, edx
sub edx, eax
cmp ecx, edx
jle 0x65de35
mov edx, dword [esp + 0x6c]
cmp edx, eax
jb 0x65e784
sub edx, eax
mov edi, dword [esp + 0x70]
sub edi, eax
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, eax
cmp edx, 7
jbe 0x65e778
mov dword [esp + 0xb4], ecx
movzx edx, byte [ebx + edi]
movzx eax, byte [ebx + edi + 1]
mov dword [esp + 0xb8], eax
shl eax, 8
or edx, eax
mov eax, esi
mov esi, dword [esp + 0xb8]
shr esi, 0x18
movzx ecx, byte [ebx + edi + 2]
mov dword [esp + 0xb8], ecx
shl ecx, 0x10
or edx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0xb8]
shr ebp, 0x10
or esi, ebp
movzx ebp, byte [ebx + edi + 3]
mov dword [esp + 0xb8], ebp
shr ebp, 8
or ebp, esi
mov esi, dword [esp + 0xb8]
shl esi, 0x18
or edx, esi
movzx esi, byte [ebx + edi + 4]
or esi, ebp
movzx ebp, byte [ebx + edi + 5]
shl ebp, 8
or esi, ebp
movzx ebp, byte [ebx + edi + 6]
shl ebp, 0x10
or ebp, esi
movzx esi, byte [ebx + edi + 7]
shl esi, 0x18
or ebp, esi
cmp ecx, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp eax, edx
sete dl
and edx, ebp
test dl, dl
jne 0x65cbd8
mov ecx, dword [esp + 0xb4]
mov esi, eax
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xac]
sub edx, ebp
mov ebp, edi
sub edi, edx
cmp ecx, edi
jle 0x65de5c
mov edi, dword [esp + 0xbc]
cmp esi, edi
je 0x65cc86
mov edx, dword [esp + 0x44]
mov esi, ebp
sub ebp, edx
sar ebp, 8
lea eax, [esi + ebp + 1]
lea edx, [esi + ebp]
mov ebp, dword [esp + 0x30]
cmp eax, ebp
jge 0x65df25
mov ecx, dword [esp + 0x6c]
cmp ecx, eax
jb 0x65e07b
mov esi, dword [esp + 0x70]
sub esi, edx
sub ecx, edx
dec ecx
lea edx, [esi - 1]
neg edx
sar edx, 0x1f
and edx, eax
cmp ecx, 7
jbe 0x65e071
movzx esi, byte [ebx + edx]
movzx ecx, byte [ebx + edx + 1]
mov dword [esp + 0xbc], ecx
shl ecx, 8
or esi, ecx
mov ebp, dword [esp + 0xbc]
shr ebp, 0x18
movzx ecx, byte [ebx + edx + 2]
mov dword [esp + 0xbc], ecx
shr ecx, 0x10
or ebp, ecx
mov edi, dword [esp + 0xbc]
shl edi, 0x10
or esi, edi
movzx edi, byte [ebx + edx + 3]
mov dword [esp + 0xbc], edi
shr edi, 8
or edi, ebp
mov ebp, dword [esp + 0xbc]
shl ebp, 0x18
movzx ecx, byte [ebx + edx + 4]
or ecx, edi
movzx edi, byte [ebx + edx + 5]
shl edi, 8
or ecx, edi
movzx edi, byte [ebx + edx + 6]
shl edi, 0x10
or ecx, edi
movzx edx, byte [ebx + edx + 7]
shl edx, 0x18
or esi, ebp
or ecx, edx
jmp 0x65d9b0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ebp, dword [esp + 0x6c]
cmp edx, ebp
jge 0x65e054
ja 0x65e068
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], ecx
mov esi, dword [esp + 0x10c]
mov edi, dword [esi + 0xc]
mov ecx, dword [esi + 8]
sub ebp, edx
mov dword [esp + 0xa4], ebp
lea eax, [ebp + ecx]
mov ebp, dword [esp + 0x70]
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
mov ebp, dword [esi + 4]
add edx, ebx
cmp edi, eax
jae 0x65dfcc
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xfc], edx
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov eax, dword [esp + 0xa4]
mov dword [esp + 0xc], eax
lea ecx, [0x6e4500]
mov dword [esp + 0x10], ecx
call fcn.0044e230
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], eax
mov dword [esp + 0xfc], ebp
add ecx, ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
call fcn.00468df0
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0xa0]
mov dword [ecx + 0xc], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x65e028
mov eax, dword [esp + 0xfc]
jmp 0x65e03c
call fcn.00468460
mov eax, dword [esp + 0xfc]
mov dword [edi], eax
mov edx, dword [ecx + 4]
mov dword [edi + 4], edx
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x6c]
sub edx, eax
mov dword [ecx + 0x54], edx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x10c]
mov dword [edx + 0x64], eax
mov dword [edx + 0x68], ecx
add esp, 0x104
ret
mov eax, edx
mov ecx, ebp
call fcn.00468520
mov eax, 7
call fcn.004684c0
call fcn.00468520
inc ebx
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + 0xb4]
mov eax, edx
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x20]
mov dword [esp + 0x28], eax
cmp eax, edi
jle 0x65d68f
mov ebp, dword [esp + 0x34]
cmp dword [esp + 0x44], ebp
jge 0x65d693
lea edx, [eax - 1]
cmp ecx, edx
jbe 0x65e6a6
lea edi, [ebp - 1]
movzx eax, byte [esi + eax - 1]
cmp ecx, edi
jbe 0x65e69f
lea ebp, [esi + ebp - 1]
cmp byte [ebp], al
jne 0x65d681
cmp ebx, 0x20002
jl 0x65e080
jmp 0x65d673
mov ebx, dword [esp + 0xf4]
mov eax, dword [esp + 0xb4]
mov ecx, dword [esp + 0x40]
jmp 0x65df2d
mov ebp, dword [esp + 0x108]
mov ecx, dword [ebp]
mov edx, dword [esp + 0xf4]
movzx eax, byte [edi + edx]
movzx ebx, byte [edi + edx + 1]
mov dword [esp + 0xbc], ebx
shl ebx, 8
or eax, ebx
mov ebx, dword [esp + 0xbc]
shr ebx, 0x18
movzx ebp, byte [edi + edx + 2]
mov dword [esp + 0xbc], ebp
shl ebp, 0x10
or eax, ebp
mov ebp, dword [esp + 0xbc]
shr ebp, 0x10
or ebx, ebp
movzx ebp, byte [edi + edx + 3]
mov dword [esp + 0xbc], ebp
shr ebp, 8
or ebp, ebx
mov ebx, dword [esp + 0xbc]
shl ebx, 0x18
or eax, ebx
mov ebx, eax
shr eax, 8
mov dword [esp + 0xbc], eax
mov eax, 0xb7a56463
mul ebx
imul ebx, ebx, 0xcf1bbcdc
mov dword [esp + 0xb8], ebx
mov ebx, dword [esp + 0xf4]
movzx eax, byte [edi + ebx + 4]
or eax, ebp
movzx ebp, byte [edi + ebx + 5]
shl ebp, 8
or eax, ebp
movzx ebp, byte [edi + ebx + 6]
shl ebp, 0x10
or eax, ebp
movzx ebp, byte [edi + ebx + 7]
shl ebp, 0x18
or eax, ebp
mov ebp, eax
shl eax, 0x18
imul edi, ebp, 0xb7a56463
add edx, edi
mov edi, dword [esp + 0xbc]
or edi, eax
nop
lea eax, [esi + ecx]
mov ebx, dword [esp + 0xb8]
add edx, ebx
mov dword [esp + 0xac], ecx
shr ebp, 8
shr edx, 0xd
mov ebx, dword [esp + 0x108]
lea ecx, [ebx + edx*8 + 0x10030]
lea edx, [ebx + edx*8 + 0x1002c]
mov ebx, dword [edx]
mov dword [edx], eax
mov dword [ecx], ebx
mov edx, edi
shl edi, 0x18
mov ebx, edx
shr edx, 8
shl ebp, 0x18
or edx, ebp
mov eax, 0x1bbcdcbb
mov ecx, edx
mul edi
imul ebp, edi, 0xcf
imul edi, ecx, 0x1bbcdcbb
add edx, edi
mov edi, dword [esp + 0xac]
lea edi, [esi + edi + 1]
add edx, ebp
shr edx, 0x13
mov eax, dword [esp + 0x108]
lea ecx, [eax + edx*8 + 0x2c]
mov dword [ecx], ebx
lea ecx, [eax + edx*8 + 0x30]
mov dword [ecx], edi
add esi, 2
mov ebx, dword [esp + 0x4c]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0xf4]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x34]
mov eax, ebp
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x10c]
lea ecx, [eax + ebx - 1]
cmp esi, ecx
jge 0x65d8d4
nop
mov ecx, dword [esp + 0x6c]
cmp esi, ecx
ja 0x65e688
sub ecx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
cmp ecx, 7
ja 0x65e100
jmp 0x65e67e
mov ebx, dword [esp + 0xf4]
movzx esi, byte [ebp + ebx]
movzx ecx, byte [ebp + ebx + 1]
mov dword [esp + 0xc0], ecx
shr ecx, 0x18
mov eax, dword [esp + 0xc0]
shl eax, 8
or eax, esi
movzx esi, byte [ebp + ebx + 2]
mov dword [esp + 0xc0], esi
shl esi, 0x10
or eax, esi
mov esi, dword [esp + 0xc0]
shr esi, 0x10
or ecx, esi
movzx esi, byte [ebp + ebx + 3]
mov dword [esp + 0xc0], esi
shr esi, 8
or ecx, esi
mov esi, dword [esp + 0xc0]
shl esi, 0x18
movzx edi, byte [ebp + ebx + 4]
or ecx, edi
movzx edi, byte [ebp + ebx + 5]
shl edi, 8
or ecx, edi
movzx edi, byte [ebp + ebx + 6]
shl edi, 0x10
or ecx, edi
movzx ebp, byte [ebp + ebx + 7]
shl ebp, 0x18
or eax, esi
or ecx, ebp
mov esi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x40]
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x34], edx
mov dword [esp + 0xb4], edi
mov edi, dword [esp + 0x40]
sub edx, edi
cmp esi, edx
jb 0x65e662
sub esi, edx
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edx
add ebp, ebx
cmp esi, 3
jbe 0x65e656
cmp dword [ebp], eax
jne 0x65e621
mov dword [esp + 0x80], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x54], edx
mov ebp, dword [esp + 0x34]
lea esi, [ebp + 4]
shl eax, 0x18
mov edi, dword [esp + 0x80]
shr edi, 8
shl ecx, 0x18
or edi, ecx
mov ecx, eax
mov eax, 0x1bbcdcbb
mul ecx
imul eax, ecx, 0xcf
imul edi, edi, 0x1bbcdcbb
add edx, edi
mov dword [esp + 0xc0], edx
mov ecx, eax
mov eax, 0xb7a56463
mov edi, dword [esp + 0x80]
mul edi
mov eax, ebx
mov ebx, dword [esp + 0x7c]
imul ebx, ebx, 0xb7a56463
add edx, ebx
imul ebx, edi, 0xcf1bbcdc
nop
nop
mov edi, dword [esp + 0xc0]
add edi, ecx
add edx, ebx
mov ecx, dword [esp + 0x6c]
cmp ecx, esi
jb 0x65e64f
mov dword [esp + 0xc0], edi
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0x54]
lea edi, [ebx + 4]
mov edx, dword [esp + 0x70]
sub edx, ebp
add edx, 0xfffffffc
mov dword [esp + 0xa4], edx
neg edx
sar edx, 0x1f
and esi, edx
mov edx, ecx
sub edx, ebp
add esi, eax
cmp ecx, edi
jb 0x65e648
mov dword [esp], esi
add edx, 0xfffffffc
mov dword [esp + 4], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edx
sub ecx, ebx
mov ebp, dword [esp + 0x70]
sub ebp, ebx
lea ebx, [ebp - 4]
add ecx, 0xfffffffc
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and edi, ebx
lea ebx, [edi + eax]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ebp
call fcn.00677510
mov eax, dword [esp + 0x108]
mov ecx, dword [eax]
mov edx, dword [esp + 0x34]
add ecx, edx
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0xbc]
shr ebp, 0xd
lea esi, [eax + ebp*8 + 0x10030]
lea ebp, [eax + ebp*8 + 0x1002c]
mov edi, dword [ebp]
mov dword [ebp], ecx
mov dword [esi], edi
mov ecx, dword [eax]
add ecx, edx
mov dword [esp + 0xa4], ebx
lea ebp, [ebx + 1]
mov dword [esp + 0xbc], ebp
lea esi, [ebx + edx + 4]
mov edi, edx
mov edx, dword [esp + 0xc0]
shr edx, 0x13
lea ebx, [eax + edx*8 + 0x2c]
mov ebp, dword [esp + 0x80]
mov dword [ebx], ebp
lea edx, [eax + edx*8 + 0x30]
mov dword [edx], ecx
mov ecx, dword [esp + 0xbc]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xd4], 0
mov dword [esp + 0xdc], 1
mov dword [esp + 0x44], esi
mov ecx, dword [esp + 0x10c]
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x14]
inc ebx
mov ebp, dword [esp + 0xa4]
add ebp, edi
mov edi, dword [ecx + 0x10]
cmp edx, ebx
jae 0x65e5bd
mov dword [esp + 0x78], esi
mov dword [esp + 0xb0], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
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 + 0x10c]
mov dword [ebx + 0x18], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65e59d
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 + 0x108]
mov ebp, dword [esp + 0xb0]
mov esi, dword [esp + 0x78]
mov ebx, edx
mov edi, ecx
mov ecx, dword [esp + 0x10c]
mov dword [ecx + 0x14], ebx
lea edx, [ebx - 1]
shl edx, 4
add edi, edx
mov edx, esi
lea esi, [esp + 0xd4]
call fcn.00468be8
mov ecx, dword [esp + 0x30]
cmp edx, ecx
jge 0x65e60a
mov ebx, dword [esp + 0x6c]
cmp ebx, edx
jb 0x65e63f
mov esi, dword [esp + 0x70]
sub esi, ebp
sub ebx, ebp
add ebx, 0xfffffffc
lea ebp, [esi - 4]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edx
cmp ebx, 7
ja 0x65e2ae
jmp 0x65e633
mov ebx, dword [esp + 0xf4]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0xb4]
jmp 0x65df2d
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0xb4]
mov esi, edi
jmp 0x65c945
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov eax, edx
mov ecx, ebx
call fcn.00468520
mov eax, edi
call fcn.00468520
mov eax, esi
call fcn.00468520
mov eax, 3
mov ecx, esi
call fcn.004684c0
mov eax, edx
mov ecx, esi
call fcn.00468520
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov eax, edx
call fcn.00468520
mov eax, 7
call fcn.004684c0
mov eax, esi
call fcn.00468520
mov eax, edi
mov ecx, ebp
call fcn.00468520
mov ecx, ebp
call fcn.00468500
mov eax, edi
call fcn.004684c0
mov eax, edx
call fcn.004684c0
mov ecx, edx
call fcn.00468520
mov eax, edi
mov ecx, ebx
call fcn.00468520
mov eax, 3
call fcn.004684c0
mov eax, ecx
mov ecx, edx
call fcn.00468520
mov eax, ebp
mov ecx, ebx
call fcn.00468520
mov eax, 3
call fcn.004684c0
mov ecx, eax
mov eax, 3
call fcn.004684c0
mov eax, edi
call fcn.00468520
mov eax, 7
call fcn.004684c0
mov eax, ebp
call fcn.00468520
mov eax, esi
call fcn.00468520
mov eax, ebx
call fcn.00468520
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov eax, ebx
mov ecx, ebp
call fcn.00468520
mov eax, ecx
mov ecx, edi
call fcn.00468520
mov eax, ebx
mov ecx, edi
call fcn.00468520
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov eax, edi
call fcn.00468520
mov eax, 7
mov ecx, ebp
call fcn.004684c0
call fcn.00468520
mov eax, esi
call fcn.00468520
call fcn.00468520
mov eax, esi
call fcn.00468520
call fcn.00468520
mov eax, 7
mov ecx, edx
call fcn.004684c0
mov ecx, edx
call fcn.00468520
mov eax, ebp
call fcn.00468520
mov eax, 7
mov ecx, esi
call fcn.004684c0
mov eax, ebx
call fcn.00468520
mov eax, ebp
call fcn.00468520
mov eax, edi
call fcn.00468520
mov eax, 7
mov ecx, ebx
call fcn.004684c0
mov eax, edi
mov ecx, ebx
call fcn.00468520
inc ebp
mov dword [esp + 0xe8], ebp
mov ebp, dword [esp + 0x24]
mov ebx, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x38], ecx
mov esi, eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x108]
mov dword [esp + 0xb4], esi
mov ebp, dword [esp + 0x38]
cmp ebp, ebx
jle 0x65e865
cmp esi, edx
jle 0x65e865
lea ecx, [ebp - 1]
mov ebx, dword [esp + 0x6c]
cmp ebx, ecx
jbe 0x65ed4d
lea eax, [esi - 1]
movzx ebp, byte [edi + ebp - 1]
cmp ebx, eax
jbe 0x65ed46
lea esi, [edi + esi - 1]
xchg ebp, eax
cmp byte [esi], al
xchg ebp, eax
jne 0x65e850
mov ebp, dword [esp + 0xe8]
cmp ebp, 0x1fffe
jb 0x65e7c8
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0xb4]
jmp 0x65e865
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x108]
mov esi, dword [esp + 0xb4]
mov ebx, dword [esp + 0x44]
nop
cmp esi, ebx
je 0x65e993
mov edx, dword [esp + 0x70]
cmp esi, edx
ja 0x65ed3f
cmp esi, ebx
jb 0x65ed36
mov ebp, dword [esp + 0x10c]
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp + 8]
sub esi, ebx
mov dword [esp + 0xa0], esi
add esi, eax
sub edx, ebx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [ebp + 4]
add ebx, edi
cmp ecx, esi
jae 0x65e8fd
mov dword [esp + 0xfc], ebx
mov dword [esp + 0x9c], eax
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xa0]
mov dword [esp + 0xc], eax
lea ecx, [0x6e4500]
mov dword [esp + 0x10], ecx
call fcn.0044e230
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x74], esi
mov dword [esp + 0xfc], edx
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ebx
mov eax, dword [esp + 0xa0]
mov dword [esp + 8], eax
call fcn.00468df0
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x10c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x9c]
mov dword [ecx + 0xc], eax
mov eax, dword [0x9eca70]
test eax, eax
jne 0x65e953
mov edx, dword [esp + 0xfc]
jmp 0x65e967
call fcn.00468460
mov edx, dword [esp + 0xfc]
mov dword [edi], edx
mov ebx, dword [ecx + 4]
mov dword [edi + 4], ebx
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0xb4]
sub ebx, edx
mov dword [esp + 0xe4], ebx
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x108]
mov edi, dword [esp + 0xf4]
mov dword [esp + 0xec], 1
mov edx, dword [esp + 0x10c]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x14]
inc ebp
mov esi, dword [edx + 0x10]
cmp ebx, ebp
jae 0x65ea20
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
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 + 0x10c]
mov dword [ebx + 0x18], eax
mov eax, dword [0x9eca70]
test eax, eax
je 0x65ea02
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 + 0xa4]
mov edi, dword [esp + 0xf4]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x108]
mov edx, ebx
mov dword [edx + 0x14], ebp
lea ebx, [ebp - 1]
shl ebx, 4
add ebx, esi
lea esi, [esp + 0xe4]
mov ebp, edi
mov edi, ebx
call fcn.00468be8
mov ecx, dword [esp + 0x34]
lea ebx, [ecx + eax + 5]
mov dword [esp + 0x44], ebx
lea esi, [ecx + eax]
mov edi, edx
mov edx, dword [esp + 0x30]
cmp ebx, edx
jge 0x65ea7d
mov dword [esp + 0xb4], ebx
mov dword [esp + 0xb0], esi
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0xc4]
jmp 0x65ec18
mov ebx, ebp
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
jmp 0x65df2d
mov edi, dword [esp + 0x108]
mov ebx, dword [edi]
movzx eax, byte [ebp + esi]
movzx ecx, byte [ebp + esi + 1]
mov dword [esp + 0xbc], ecx
shl ecx, 8
or eax, ecx
mov edi, dword [esp + 0xbc]
shr edi, 0x18
movzx ecx, byte [ebp + esi + 2]
mov dword [esp + 0xbc], ecx
shr ecx, 0x10
or ecx, edi
mov edi, dword [esp + 0xbc]
shl edi, 0x10
or eax, edi
movzx edi, byte [ebp + esi + 3]
mov dword [esp + 0xbc], edi
shr edi, 8
or edi, ecx
mov ecx, edx
mov edx, dword [esp + 0xbc]
shl edx, 0x18
or eax, edx
mov dword [esp + 0xbc], eax
mov edx, eax
shr eax, 8
mov dword [esp + 0xb8], eax
mov eax, 0xb7a56463
mul edx
mov eax, ebx
mov ebx, dword [esp + 0xbc]
imul ebx, ebx, 0xcf1bbcdc
mov dword [esp + 0xbc], ebx
movzx ebx, byte [ebp + esi + 4]
or ebx, edi
movzx edi, byte [ebp + esi + 5]
shl edi, 8
or ebx, edi
movzx edi, byte [ebp + esi + 6]
shl edi, 0x10
or ebx, edi
movzx esi, byte [ebp + esi + 7]
shl esi, 0x18
or ebx, esi
mov esi, ebx
shl ebx, 0x18
imul edi, esi, 0xb7a56463
add edx, edi
mov edi, dword [esp + 0xb8]
or edi, ebx
nop
lea ebx, [ecx + eax]
mov ebp, dword [esp + 0xbc]
add edx, ebp
mov dword [esp + 0xac], eax
shr esi, 8
shr edx, 0xd
mov ebp, dword [esp + 0x108]
lea eax, [ebp + edx*8 + 0x10030]
lea edx, [ebp + edx*8 + 0x1002c]
mov ebp, dword [edx]
mov dword [edx], ebx
mov dword [eax], ebp
mov eax, edi
shl eax, 0x18
mov edx, edi
shr edi, 8
shl esi, 0x18
or edi, esi
mov ebx, 0x1bbcdcbb
mov ebp, edx
mov esi, eax
mul ebx
imul esi, esi, 0xcf
imul edi, edi, 0x1bbcdcbb
add edx, edi
mov edi, dword [esp + 0xac]
lea edi, [ecx + edi + 1]
add edx, esi
shr edx, 0x13
mov eax, dword [esp + 0x108]
lea esi, [eax + edx*8 + 0x2c]
mov dword [esi], ebp
lea edx, [eax + edx*8 + 0x30]
mov dword [edx], edi
lea esi, [ecx + 2]
mov ecx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xf4]
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov eax, ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0xb4]
mov edi, dword [esp + 0x10c]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0xb0]
lea edi, [ecx + eax + 4]
mov edx, dword [esp + 0x50]
cmp edx, edi
jge 0x65ec52
nop
mov edi, dword [esp + 0x6c]
cmp edx, edi
ja 0x65ed2d
sub edi, edx
mov esi, dword [esp + 0x70]
sub esi, edx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edx
cmp edi, 7
ja 0x65ea8c
jmp 0x65ed21
nop
mov ecx, dword [esp + 0x6c]
cmp ecx, ebx
jb 0x65ed1a
mov edx, dword [esp + 0x70]
sub edx, esi
mov eax, ecx
sub eax, esi
lea esi, [eax - 5]
add edx, 0xfffffffb
neg edx
sar edx, 0x1f
and edx, ebx
cmp esi, 7
jbe 0x65ed0e
movzx esi, byte [ebp + edx]
movzx eax, byte [ebp + edx + 1]
mov dword [esp + 0xbc], eax
shl eax, 8
or esi, eax
mov edi, dword [esp + 0xbc]
shr edi, 0x18
movzx eax, byte [ebp + edx + 2]
mov dword [esp + 0xbc], eax
shl eax, 0x10
or esi, eax
mov eax, edx
mov edx, dword [esp + 0xbc]
shr edx, 0x10
or edi, edx
movzx edx, byte [ebp + eax + 3]
mov dword [esp + 0xbc], edx
shr edx, 8
or edx, edi
mov edi, dword [esp + 0xbc]
shl edi, 0x18
movzx ecx, byte [ebp + eax + 4]
or ecx, edx
movzx edx, byte [ebp + eax + 5]
shl edx, 8
or ecx, edx
movzx edx, byte [ebp + eax + 6]
shl edx, 0x10
or ecx, edx
movzx edx, byte [ebp + eax + 7]
shl edx, 0x18
or esi, edi
or ecx, edx
mov ebx, ebp
mov eax, dword [esp + 0xb4]
jmp 0x65d9b0
mov eax, 7
mov ecx, esi
call fcn.004684c0
mov eax, ebx
call fcn.00468520
mov eax, 7
mov ecx, edi
call fcn.004684c0
mov eax, edx
mov ecx, edi
call fcn.00468520
mov eax, ebx
mov ecx, esi
call fcn.00468520
mov ecx, esi
call fcn.00468500
mov ecx, ebx
call fcn.004684c0
mov eax, ecx
mov ecx, ebx
call fcn.004684c0
mov eax, edx
call fcn.00468520
mov eax, ebx
call fcn.00468520
mov eax, 3
mov ecx, esi
call fcn.004684c0
mov eax, ebp
mov ecx, esi
call fcn.00468520
mov eax, 7
mov ecx, edi
call fcn.004684c0
call fcn.00468520
mov dword [ebp + 4], ebx
inc edx
cmp edx, 0x2000
jge 0x65edb1
lea ebx, [eax + edx*8 + 0x30]
mov ebx, dword [ebx]
lea ebp, [eax + edx*8 + 0x2c]
cmp ebx, ecx
jge 0x65eda8
xor ebx, ebx
jmp 0x65ed8a
mov esi, dword [eax]
sub ebx, esi
add ebx, dword [eax + 4]
jmp 0x65ed8a
xor edx, edx
jmp 0x65edbc
mov dword [ebp], ebx
mov dword [ebp + 4], esi
inc edx
cmp edx, 0x80000
jge 0x65ee07
lea ebx, [eax + edx*8 + 0x1002c]
mov ebx, dword [ebx]
lea ebp, [eax + edx*8 + 0x1002c]
lea esi, [eax + edx*8 + 0x10030]
cmp ebx, ecx
jge 0x65ede5
xor ebx, ebx
xor esi, esi
jmp 0x65edb5
mov esi, dword [esi]
mov edi, dword [eax]
sub ebx, edi
mov eax, dword [eax + 4]
add ebx, eax
cmp esi, ecx
jge 0x65edf8
xor eax, eax
jmp 0x65edfc
sub esi, edi
add eax, esi
mov esi, eax
mov eax, dword [esp + 0x108]
jmp 0x65edb5
mov ecx, dword [eax + 4]
mov dword [eax], ecx
jmp 0x65c7dc
lea edx, [eax + ecx*8 + 0x2c]
mov dword [edx], 0
lea edx, [eax + ecx*8 + 0x30]
mov dword [edx], 0
inc ecx
cmp ecx, 0x2000
jl 0x65ee11
xor ecx, ecx
jmp 0x65ee4d
lea edx, [eax + ecx*8 + 0x1002c]
mov dword [edx], 0
lea edx, [eax + ecx*8 + 0x10030]
mov dword [edx], 0
inc ecx
cmp ecx, 0x80000
jl 0x65ee32
mov ecx, dword [eax + 4]
mov dword [eax], ecx
jmp 0x65c7dc
call fcn.00467050
jmp fcn.0065c790