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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x25c]
cmp eax, dword [ecx + 8]
jbe 0x65034118
sub esp, 0x2dc
mov edx, dword [esp + 0x2e0]
mov ebx, dword [edx + 0x18]
mov ebp, dword [edx + 0x1c]
cmp dword [edx + 0x33c], 1
jne 0x65031060
movzx esi, byte [esp + 0x2f0]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x65031068
mov edi, dword [0x6507a980]
mov ecx, dword [0x6507a984]
mov eax, dword [esp + 0x2ec]
cmp eax, ecx
jae 0x65034112
shl eax, 4
mov ecx, dword [edi + eax]
mov esi, dword [edi + eax + 4]
mov edx, dword [edi + eax + 8]
mov edi, dword [edi + eax + 0xc]
sub ebx, edx
lea eax, [ecx + ebx - 1]
test ecx, ecx
je 0x6503410d
cmp ecx, 0xffffffff
je 0x65030fe4
cdq
idiv ecx
jmp 0x65030fe6
neg eax
sub ebp, edi
lea ecx, [esi + ebp - 1]
test esi, esi
je 0x65034108
mov dword [esp + 0xd4], eax
mov eax, ecx
cmp esi, 0xffffffff
je 0x65031007
cdq
idiv esi
jmp 0x65031009
neg eax
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x65031018
test eax, eax
jne 0x6503104b
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
add esp, 0x2dc
ret
mov edx, dword [esp + 0x2e0]
movzx esi, byte [esp + 0x2f0]
mov ebx, ecx
mov ebp, eax
jmp 0x65031068
movzx esi, byte [esp + 0x2f0]
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x108], ebp
mov ecx, dword [edx + 0x30]
cmp ecx, 0xa
jg 0x6503148b
cmp ecx, 5
jg 0x65031292
lea edi, [ecx - 1]
cmp edi, 3
ja 0x650311c7
mov eax, dword [edx + 0x20]
mov dword [esp + 0x110], eax
movzx ecx, byte [edx + 0x340]
test cl, cl
je 0x65031106
test ebx, ebx
jge 0x650310b6
mov ecx, ebx
xor edi, edi
jmp 0x650310bc
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
test ebp, ebp
jge 0x650310cf
mov dword [esp + 0x28c], eax
xor eax, eax
mov dword [esp + 0x54], eax
jmp 0x650310de
xor ebp, ebp
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x54], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x54]
mov dword [esp + 0xc], eax
call fcn.6502e590
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3aac]
mov edx, eax
xor ebx, ebx
jmp 0x6503115e
test ebx, ebx
jge 0x65031110
mov ecx, ebx
xor edi, edi
jmp 0x65031116
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
test ebp, ebp
jge 0x65031129
mov dword [esp + 0x284], eax
xor eax, eax
mov dword [esp + 0x5c], eax
jmp 0x65031138
xor ebp, ebp
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x5c], ebp
xor ebp, ebp
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
call fcn.6502ec50
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3a74]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
xor esi, esi
mov dword [esp + 0x2b4], esi
xor ebp, ebp
mov dword [esp + 0x294], ebp
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov eax, ebx
mov ecx, edx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
jmp 0x6503194a
cmp ecx, 5
jne 0x65031903
test ebx, ebx
jge 0x650311da
mov eax, ebx
xor ecx, ecx
jmp 0x650311e0
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x650311e8
xor edi, edi
jmp 0x650311f1
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502e590
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a4], eax
xor edx, edx
mov dword [esp + 0x2b4], edx
xor ebx, ebx
mov dword [esp + 0x294], ebx
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
lea esi, [0x650d3aac]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], ecx
mov eax, 0x10
mov dword [esp + 0x110], eax
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6503194a
cmp ecx, 6
jne 0x650313a3
movzx eax, byte [edx + 0x340]
test al, al
je 0x650312eb
test ebx, ebx
jge 0x650312b0
mov eax, ebx
xor ecx, ecx
jmp 0x650312b6
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x650312be
xor edi, edi
jmp 0x650312c7
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502e590
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3aac]
mov edx, eax
xor ebx, ebx
jmp 0x6503132e
test ebx, ebx
jge 0x650312f5
mov eax, ebx
xor ecx, ecx
jmp 0x650312fb
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x65031303
xor edi, edi
jmp 0x6503130c
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502dcf0
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3b00]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov edi, ebx
xor ebx, ebx
mov dword [esp + 0x2a4], ebx
xor ebp, ebp
mov dword [esp + 0x2b4], ebp
xor esi, esi
mov dword [esp + 0x294], esi
xor ebx, ebx
mov dword [esp + 0x2a8], ebx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov ebx, 0x18
mov dword [esp + 0x110], ebx
mov ebx, dword [esp + 0xd4]
xor eax, eax
mov ecx, edx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov edx, dword [esp + 0x2e0]
jmp 0x6503194a
mov eax, dword [edx + 0x20]
test ebx, ebx
jge 0x650313b0
mov ecx, ebx
xor edi, edi
jmp 0x650313b6
mov ecx, ebx
xor ebx, ebx
mov edi, ecx
mov dword [esp + 0x110], eax
test ebp, ebp
jge 0x650313d0
mov dword [esp + 0x27c], eax
xor eax, eax
mov dword [esp + 0x58], eax
jmp 0x650313df
xor ebp, ebp
mov ebp, dword [esp + 0x108]
mov dword [esp + 0x58], ebp
xor ebp, ebp
mov eax, dword [edx + 0x24]
mov ecx, dword [edx + 0x28]
mov esi, dword [edx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
call fcn.6502f390
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x2a4], eax
xor edx, edx
mov dword [esp + 0x2b4], edx
xor ebx, ebx
mov dword [esp + 0x294], ebx
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
lea esi, [0x650d3ae4]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], eax
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6503194a
cmp ecx, 0xc
jg 0x65031663
cmp ecx, 0xb
jne 0x6503155f
test ebx, ebx
jge 0x650314a7
mov eax, ebx
xor ecx, ecx
jmp 0x650314ad
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x650314b5
xor edi, edi
jmp 0x650314be
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502e590
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
mov ecx, eax
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a4], eax
xor edx, edx
mov dword [esp + 0x2b4], edx
xor ebx, ebx
mov dword [esp + 0x294], ebx
xor ebp, ebp
mov dword [esp + 0x2a8], ebp
lea esi, [0x650d3aac]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], ecx
mov eax, 0x20
mov dword [esp + 0x110], eax
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6503194a
movzx eax, byte [edx + 0x340]
test al, al
je 0x650315af
test ebx, ebx
jge 0x65031574
mov eax, ebx
xor ecx, ecx
jmp 0x6503157a
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x65031582
xor edi, edi
jmp 0x6503158b
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502ea30
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3ac8]
mov edx, eax
xor ebx, ebx
jmp 0x650315f2
test ebx, ebx
jge 0x650315b9
mov eax, ebx
xor ecx, ecx
jmp 0x650315bf
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x650315c7
xor edi, edi
jmp 0x650315d0
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502ef70
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3a90]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
mov dword [esp + 0x2b4], ebx
xor esi, esi
mov dword [esp + 0x294], esi
mov dword [esp + 0x2a8], edx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov ebp, 0x10
mov dword [esp + 0x110], ebp
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6503194a
cmp ecx, 0xd
jne 0x6503172e
test ebx, ebx
jge 0x65031676
mov eax, ebx
xor ecx, ecx
jmp 0x6503167c
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x65031684
xor edi, edi
jmp 0x6503168d
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502ea30
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2a4], edx
xor ebx, ebx
mov dword [esp + 0x2b4], ebx
xor ebp, ebp
mov dword [esp + 0x294], ebp
mov dword [esp + 0x2a8], eax
lea esi, [0x650d3ac8]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], eax
mov ecx, 0x20
mov dword [esp + 0x110], ecx
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
jmp 0x6503194a
cmp ecx, 0xe
jne 0x6503183b
movzx eax, byte [edx + 0x340]
test al, al
je 0x65031787
test ebx, ebx
jge 0x6503174c
mov eax, ebx
xor ecx, ecx
jmp 0x65031752
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6503175a
xor edi, edi
jmp 0x65031763
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502ea30
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3ac8]
mov edx, eax
xor ebx, ebx
jmp 0x650317ca
test ebx, ebx
jge 0x65031791
mov eax, ebx
xor ecx, ecx
jmp 0x65031797
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6503179f
xor edi, edi
jmp 0x650317a8
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502e190
mov eax, dword [esp + 0x10]
lea ecx, [0x650d3b1c]
xor edx, edx
mov ebx, eax
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x2a4], ebp
xor esi, esi
mov dword [esp + 0x2b4], esi
mov dword [esp + 0x294], ebx
mov dword [esp + 0x2a8], edx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0x2b0], eax
mov ebp, 0x30
mov dword [esp + 0x110], ebp
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
jmp 0x6503194a
cmp ecx, 0xf
jne 0x65031903
test ebx, ebx
jge 0x6503184e
mov eax, ebx
xor ecx, ecx
jmp 0x65031854
mov eax, ebx
xor ebx, ebx
mov ecx, eax
test ebp, ebp
jge 0x6503185c
xor edi, edi
jmp 0x65031865
xor ebp, ebp
mov edi, dword [esp + 0x108]
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
call fcn.6502ea30
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
xor edi, edi
xor edx, edx
mov dword [esp + 0x2a4], edx
xor ebx, ebx
mov dword [esp + 0x2b4], ebx
xor ebp, ebp
mov dword [esp + 0x294], ebp
mov dword [esp + 0x2a8], eax
lea esi, [0x650d3ac8]
mov dword [esp + 0xf0], esi
mov dword [esp + 0x2b0], eax
mov ecx, 0x40
mov dword [esp + 0x110], ecx
xor eax, eax
mov edx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x108]
movzx esi, byte [esp + 0x2f0]
xor ecx, ecx
jmp 0x6503194a
xor eax, eax
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [esp + 0x2a4], eax
xor eax, eax
mov dword [esp + 0x2b4], eax
xor eax, eax
mov dword [esp + 0x294], eax
xor eax, eax
mov dword [esp + 0x2a8], eax
xor eax, eax
mov dword [esp + 0xf0], eax
xor eax, eax
mov dword [esp + 0x2b0], eax
xor eax, eax
mov dword [esp + 0x110], eax
xor eax, eax
xchg esi, eax
test al, al
xchg esi, eax
jne 0x65031adc
mov dword [esp + 0x2ac], ecx
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0x110]
mul ebx
mov dword [esp + 0x128], eax
add eax, 7
mov eax, edi
mov edi, dword [esp + 0x110]
sar edi, 0x1f
imul edi, ebx
add edx, edi
sar ebx, 0x1f
mov edi, dword [esp + 0x110]
imul ebx, edi
add edx, ebx
mov ebx, dword [esp + 0x128]
add ebx, 7
mov ebx, edx
adc edx, 0
sar edx, 0x1f
shr edx, 0x1d
mov dword [esp + 0x124], edx
mov esi, dword [esp + 0x128]
add edx, esi
mov dword [esp + 0x128], edx
add edx, 7
mov ecx, dword [esp + 0x124]
add ecx, esi
adc ebx, 0
mov ecx, dword [esp + 0x128]
add ecx, 7
adc ebx, 0
shr edx, 3
mov ecx, ebx
shl ebx, 0x1d
or edx, ebx
mov ebx, edx
add edx, 1
sar ecx, 3
add ebx, 1
adc ecx, 0
lea ebx, [edi + 7]
sar ebx, 0x1f
shr ebx, 0x1d
lea ebx, [edi + ebx + 7]
mov esi, edx
sar edx, 0x1f
cmp edx, ecx
jne 0x65031aa5
mov dword [esp + 0x128], esi
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x2d8], eax
lea eax, [0x6508bc40]
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], esi
call fcn.64fc4730
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2d4], eax
lea ecx, [0x6508bc40]
mov dword [esp], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x128]
mov dword [esp + 4], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
call fcn.64fc4730
mov eax, dword [esp + 0x120]
sar eax, 3
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x14]
xor edx, edx
xor ebx, ebx
mov ebp, dword [esp + 0x2d4]
jmp 0x65031b31
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
lea eax, [0x650d2648]
mov dword [esp + 0x2fc], eax
lea eax, str.l_ne
mov dword [esp + 0x300], eax
add esp, 0x2dc
ret
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
add esp, 0x2dc
ret
mov esi, dword [esp + 0xe4]
inc esi
mov edx, esi
mov ebx, eax
mov ebp, edi
mov ecx, dword [esp + 0x2d0]
mov eax, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
cmp edx, esi
jge 0x6503237a
mov dword [esp + 0x2c4], ecx
mov dword [esp + 0x2d0], ebp
mov dword [esp + 0xe4], edx
mov dword [esp + 0xdc], ebx
nop
mov eax, dword [esp + 0x2e4]
mov dword [esp], eax
mov ecx, dword [esp + 0x2e8]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov edx, dword [esp + 0x128]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], edx
call fcn.64feb800
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
test eax, eax
jne 0x6503227c
mov ecx, dword [esp + 0x128]
cmp ecx, 1
jb 0x650340fe
lea ebx, [ecx - 1]
mov ebp, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
mov esi, dword [esp + 0x2d0]
lea edi, [esi + ebx]
cmp ecx, 1
jb 0x650340f4
mov dword [esp + 0x120], ebp
mov dword [esp + 0x2c8], edi
mov eax, edi
mov edi, dword [esp + 0x2c4]
add ebx, edi
mov edx, esi
movzx esi, byte [esi]
xchg esi, eax
cmp al, 1
xchg esi, eax
ja 0x65031c17
xchg esi, eax
test al, al
xchg esi, eax
je 0x65031ca4
mov ebx, dword [esp + 0x10c]
mov esi, ebx
jmp 0x650340c7
xchg esi, eax
cmp al, 2
xchg esi, eax
jne 0x65031c25
xor esi, esi
jmp 0x65034096
xchg esi, eax
cmp al, 3
xchg esi, eax
jne 0x65031c4f
mov esi, dword [esp + 0x10c]
mov dword [esp + 0x12c], eax
xor eax, eax
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x12c]
jmp 0x65033fb5
xchg esi, eax
cmp al, 4
xchg esi, eax
jne 0x65032245
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x18], ecx
call fcn.6502f9e0
mov eax, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [ebx + 0x30]
cmp esi, 7
jg 0x65031fc3
cmp esi, 3
jg 0x65031dde
cmp esi, 1
jne 0x65031d1e
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65031cfb
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x2a], al
xchg esi, eax
mov dword [esp + 0x14c], eax
xor eax, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x14c]
jmp 0x65033e4d
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x15c], eax
xor eax, eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x15c]
jmp 0x65033cbd
cmp esi, 2
jne 0x65031d7c
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65031d59
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x28], al
xchg esi, eax
mov dword [esp + 0x17c], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x17c]
jmp 0x65033b5c
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x18c], eax
xor eax, eax
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x18c]
jmp 0x650339ce
cmp esi, 3
jne 0x65032239
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65031dbb
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x29], al
xchg esi, eax
mov dword [esp + 0x19c], eax
xor eax, eax
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x19c]
jmp 0x65033881
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x1ac], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1ac]
jmp 0x650336f3
cmp esi, 5
jg 0x65031eb2
cmp esi, 4
jne 0x65031e8f
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65031e26
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x27], al
xchg esi, eax
mov dword [esp + 0x1c4], eax
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x1c4]
jmp 0x65033663
mov esi, dword [esp + 0x2b8]
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov esi, dword [esp + 0xdc]
cmp esi, ebx
ja 0x650335c6
sub ebx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edx, edi
cmp ebx, ebp
jg 0x65031e5b
mov ebp, ebx
cmp edx, eax
je 0x65031e7d
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.64fda970
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0x2b8]
mov edx, dword [eax + 0xc]
lea ebx, [esi + edx]
jmp 0x650335aa
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x1cc], eax
xor eax, eax
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x1cc]
jmp 0x6503355c
cmp esi, 6
jne 0x65031fa0
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65031f4c
mov esi, dword [esp + 0x2ac]
mov edx, dword [esi + 4]
mov dword [esp + 0xe0], edx
mov edi, dword [esi]
mov dword [esp + 0x298], edi
movzx esi, byte [ebx + 0x342]
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
movzx edi, byte [ebx + 0x344]
xchg edi, eax
mov byte [esp + 0x2c], al
xchg edi, eax
movzx edx, byte [ebx + 0x346]
mov byte [esp + 0x2d], dl
mov dword [esp + 0x1ec], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0x104], eax
mov dword [esp + 0x1e4], ecx
xor ecx, ecx
mov dword [esp + 0xec], ecx
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e4]
jmp 0x6503335a
mov esi, dword [esp + 0x2d8]
mov edx, dword [esi + 4]
mov edi, dword [esi]
mov dword [esp + 0x29c], edi
mov dword [esp + 0x1fc], eax
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xf8], eax
mov dword [esp + 0x1f4], ecx
xor ecx, ecx
mov dword [esp + 0xe8], ecx
mov eax, dword [esp + 0x1fc]
mov ecx, dword [esp + 0x1f4]
jmp 0x65033200
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x20c], eax
xor eax, eax
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x20c]
jmp 0x6503303a
cmp esi, 0xb
jg 0x650320d1
cmp esi, 9
jg 0x6503201c
cmp esi, 8
jne 0x65031ff9
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x21c], eax
xor eax, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x21c]
jmp 0x65032e83
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x22c], eax
xor eax, eax
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x22c]
jmp 0x65032cd0
cmp esi, 0xa
jne 0x65032051
mov esi, dword [esp + 0x2a4]
cmp dword [esi + 0x24], 0x100
je 0x65032b9d
mov dword [esp + 0x234], eax
xor eax, eax
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x234]
jmp 0x65032c40
mov esi, dword [esp + 0x2ac]
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov esi, dword [esp + 0xdc]
cmp esi, ebx
ja 0x65032b94
sub ebx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edx, edi
cmp ebx, ebp
jg 0x65032086
mov ebp, ebx
cmp edx, eax
je 0x650320a8
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.64fda970
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0xdc]
mov eax, dword [esp + 0x2ac]
mov edx, dword [eax + 0xc]
lea ebx, [esi + edx]
mov edx, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2c4]
mov eax, ebx
mov ebx, dword [esp + 0x2e0]
jmp 0x65031b15
cmp esi, 0xd
jg 0x6503216d
cmp esi, 0xc
jne 0x6503214a
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x65032127
movzx esi, byte [ebx + 0x341]
shl esi, 8
movzx ebx, byte [ebx + 0x342]
or ebx, esi
mov word [esp + 0x42], bx
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x23c], eax
xor eax, eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x23c]
jmp 0x65032b31
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x244], eax
xor eax, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x244]
jmp 0x65032a55
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x24c], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x24c]
jmp 0x6503293f
cmp esi, 0xe
jne 0x65032211
movzx esi, byte [ebx + 0x340]
xchg esi, eax
test al, al
xchg esi, eax
je 0x650321ee
movzx esi, byte [ebx + 0x341]
shl esi, 8
movzx edx, byte [ebx + 0x342]
or edx, esi
mov word [esp + 0x44], dx
movzx esi, byte [ebx + 0x343]
shl esi, 8
movzx edi, byte [ebx + 0x344]
or edi, esi
mov word [esp + 0x46], di
movzx esi, byte [ebx + 0x345]
shl esi, 8
movzx ebx, byte [ebx + 0x346]
or ebx, esi
mov word [esp + 0x48], bx
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x264], eax
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x264]
jmp 0x6503276a
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x26c], eax
xor eax, eax
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x26c]
jmp 0x65032607
cmp esi, 0xf
jne 0x65032239
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x274], eax
xor eax, eax
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x274]
jmp 0x65032457
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
lea eax, [0x650d2634]
mov dword [esp + 0x2fc], eax
lea eax, [0x650d1a4c]
mov dword [esp + 0x300], eax
add esp, 0x2dc
ret
mov dword [esp + 0x2d0], ebx
mov dword [esp + 0x2c0], ebp
mov eax, dword [0x65157464]
cmp dword [0x65157460], ecx
je 0x6503229c
xor eax, eax
jmp 0x650322db
mov dword [esp + 0x2bc], edx
mov dword [esp + 0x2cc], ecx
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.64f83a70
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x2cc]
mov edx, dword [esp + 0x2bc]
mov ebx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x2c0]
test al, al
jne 0x65032318
mov eax, dword [0x6515748c]
cmp dword [0x65157488], ecx
je 0x650322f1
xor eax, eax
jmp 0x65032314
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.64f83a70
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x2c0]
test al, al
je 0x6503234f
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
lea eax, [0x650d2634]
mov dword [esp + 0x2fc], eax
lea eax, [0x650d1a34]
mov dword [esp + 0x300], eax
add esp, 0x2dc
ret
mov dword [esp + 0x2f4], 0
mov dword [esp + 0x2f8], 0
mov dword [esp + 0x2fc], ebx
mov dword [esp + 0x300], ebp
add esp, 0x2dc
ret
mov eax, dword [esp + 0xf0]
mov dword [esp + 0x2f4], eax
mov eax, dword [esp + 0x2b0]
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], 0
mov dword [esp + 0x300], 0
add esp, 0x2dc
ret
lea ecx, [eax + edx*8 + 7]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2a8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
movzx ebp, word [esp + 0x4e]
mov word [esp + 0xc], bp
movzx ebp, word [esp + 0x50]
mov word [esp + 0xe], bp
mov word [esp + 0x10], si
shl edi, 8
or ecx, edi
mov word [esp + 0x12], cx
call fcn.6502e890
mov eax, dword [esp + 0x90]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
mov ebx, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x90]
cmp ebx, esi
jge 0x65032504
shl ebx, 3
cmp ebx, ebp
jae 0x65032556
mov edx, dword [esp + 0x90]
lea edi, [eax + edx*8]
movzx edi, byte [edi]
lea esi, [ebx + 1]
cmp esi, ebp
jae 0x6503254d
shl edi, 8
lea esi, [eax + edx*8 + 1]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 2]
cmp edi, ebp
jae 0x65032544
mov word [esp + 0x4e], si
lea edi, [eax + edx*8 + 2]
movzx edi, byte [edi]
lea esi, [ebx + 3]
cmp esi, ebp
jae 0x6503253b
shl edi, 8
lea esi, [eax + edx*8 + 3]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 4]
cmp edi, ebp
jae 0x65032532
mov word [esp + 0x50], si
lea edi, [eax + edx*8 + 4]
movzx edi, byte [edi]
lea esi, [ebx + 5]
cmp esi, ebp
jae 0x65032529
shl edi, 8
lea esi, [eax + edx*8 + 5]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 6]
cmp edi, ebp
jae 0x65032520
lea edi, [eax + edx*8 + 6]
movzx edi, byte [edi]
add ebx, 7
cmp ebx, ebp
jb 0x650323b3
jmp 0x65032517
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ecx, [eax + edi*2 + 5]
movzx ecx, byte [ecx]
mov edx, dword [esp + 0x294]
mov dword [esp], edx
mov ebp, dword [esp + 0xd0]
mov dword [esp + 4], ebp
mov edi, dword [esp + 0xe4]
mov dword [esp + 8], edi
movzx edi, word [esp + 0x4a]
mov word [esp + 0xc], di
mov word [esp + 0xe], bx
shl esi, 8
or ecx, esi
mov word [esp + 0x10], cx
mov word [esp + 0x12], 0xffff
call fcn.6502dff0
mov eax, dword [esp + 0xd0]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x294]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xd0]
cmp ebx, esi
jge 0x6503268b
lea edx, [ebx + ebx*2]
mov dword [esp + 0x11c], edx
shl edx, 1
cmp edx, ebp
jae 0x650326cb
mov edi, dword [esp + 0x11c]
lea esi, [eax + edi*2]
movzx esi, byte [esi]
lea ebx, [edx + 1]
cmp ebx, ebp
jae 0x650326c2
shl esi, 8
lea ebx, [eax + edi*2 + 1]
movzx ebx, byte [ebx]
or ebx, esi
lea esi, [edx + 2]
cmp esi, ebp
jae 0x650326b9
mov word [esp + 0x4a], bx
lea esi, [eax + edi*2 + 2]
movzx esi, byte [esi]
lea ebx, [edx + 3]
cmp ebx, ebp
jae 0x650326b0
shl esi, 8
lea ebx, [eax + edi*2 + 3]
movzx ebx, byte [ebx]
or ebx, esi
lea esi, [edx + 4]
cmp esi, ebp
jae 0x650326a7
lea esi, [eax + edi*2 + 4]
movzx esi, byte [esi]
add edx, 5
cmp edx, ebp
jb 0x6503255f
jmp 0x6503269e
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov eax, edx
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, edx
mov ecx, ebp
call fcn.64fda100
mov eax, dword [esp + 0x2a8]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
mov word [esp + 0xc], si
mov word [esp + 0xe], dx
mov word [esp + 0x10], bx
movzx edx, word [esp + 0x52]
mov word [esp + 0x12], dx
call fcn.6502e890
mov eax, dword [esp + 0x98]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
movzx ebx, word [esp + 0x44]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x2c8]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov edx, ebx
movzx ebx, word [esp + 0x48]
mov esi, dword [esp + 0xd4]
movzx edi, word [esp + 0x46]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x98]
cmp ebx, esi
jge 0x6503285c
lea esi, [ebx + ebx*2]
mov dword [esp + 0x11c], esi
shl esi, 1
cmp esi, ebp
jae 0x6503289c
mov ebx, dword [esp + 0x11c]
lea edi, [eax + ebx*2]
movzx edi, byte [edi]
lea edx, [esi + 1]
cmp edx, ebp
jae 0x65032893
shl edi, 8
lea edx, [eax + ebx*2 + 1]
movzx edx, byte [edx]
or edx, edi
lea edi, [esi + 2]
cmp edi, ebp
jae 0x6503288a
mov word [esp + 0x4c], dx
lea edi, [eax + ebx*2 + 2]
movzx edi, byte [edi]
lea edx, [esi + 3]
cmp edx, ebp
jae 0x65032881
shl edi, 8
lea edx, [eax + ebx*2 + 3]
movzx edx, byte [edx]
or edx, edi
lea edi, [esi + 4]
cmp edi, ebp
jae 0x65032878
lea edi, [eax + ebx*2 + 4]
movzx edi, byte [edi]
add esi, 5
cmp esi, ebp
jae 0x6503286f
shl edi, 8
lea ebx, [eax + ebx*2 + 5]
movzx ebx, byte [ebx]
or ebx, edi
movzx esi, word [esp + 0x4c]
movzx edi, word [esp + 0x44]
cmp si, di
jne 0x65032841
movzx ecx, word [esp + 0x46]
cmp dx, cx
jne 0x6503283a
movzx ecx, word [esp + 0x48]
cmp bx, cx
jne 0x65032846
mov dword [esp + 0x25c], eax
xor eax, eax
mov word [esp + 0x52], ax
jmp 0x650326d4
movzx ecx, word [esp + 0x48]
jmp 0x65032846
movzx ecx, word [esp + 0x48]
mov dword [esp + 0x254], eax
mov eax, 0xffffffff
mov word [esp + 0x52], ax
jmp 0x650326d4
mov edx, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2c4]
jmp 0x6503268b
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, edx
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, edx
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
lea ecx, [eax + edx*4 + 3]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2a8]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
mov word [esp + 0xc], si
mov word [esp + 0xe], si
mov word [esp + 0x10], si
shl edi, 8
or ecx, edi
mov word [esp + 0x12], cx
call fcn.6502e890
mov eax, dword [esp + 0xb0]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xb0]
cmp ebx, esi
jge 0x6503298c
shl ebx, 2
cmp ebx, ebp
jae 0x650329ba
mov edx, dword [esp + 0xb0]
lea edi, [eax + edx*4]
movzx edi, byte [edi]
lea esi, [ebx + 1]
cmp esi, ebp
jae 0x650329b1
shl edi, 8
lea esi, [eax + edx*4 + 1]
movzx esi, byte [esi]
or esi, edi
lea edi, [ebx + 2]
cmp edi, ebp
jae 0x650329a8
lea edi, [eax + edx*4 + 2]
movzx edi, byte [edi]
add ebx, 3
cmp ebx, ebp
jb 0x650328a5
jmp 0x6503299f
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ecx, [eax + edx*2 + 1]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2b4]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
shl edi, 8
or ecx, edi
mov word [esp + 0xc], cx
call fcn.6502eeb0
mov eax, dword [esp + 0x84]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2b4]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0x84]
cmp ebx, esi
jge 0x65032a7e
shl ebx, 1
cmp ebx, ebp
jae 0x65032a9a
mov edx, dword [esp + 0x84]
lea edi, [eax + edx*2]
movzx edi, byte [edi]
inc ebx
cmp ebx, ebp
jb 0x650329c3
jmp 0x65032a91
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, dword [esp + 0x2a8]
mov dword [esp], eax
mov dword [esp + 4], edi
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov word [esp + 0xc], dx
mov word [esp + 0xe], dx
mov word [esp + 0x10], dx
mov word [esp + 0x12], si
call fcn.6502e890
mov eax, dword [esp + 0xc4]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2a8]
movzx ebx, word [esp + 0x42]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov edi, dword [esp + 0x120]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebp, edi
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x2c8]
mov edx, dword [esp + 0xc4]
cmp edx, esi
jge 0x65032b76
shl edx, 1
cmp edx, ebp
jae 0x65032b8b
mov edi, dword [esp + 0xc4]
lea esi, [eax + edi*2]
movzx esi, byte [esi]
inc edx
cmp edx, ebp
jae 0x65032b82
shl esi, 8
lea edx, [eax + edi*2 + 1]
movzx edx, byte [edx]
or edx, esi
cmp dx, bx
jne 0x65032b6c
xor esi, esi
jmp 0x65032aa3
mov esi, 0xffffffff
jmp 0x65032aa3
mov edx, dword [esp + 0x2d0]
jmp 0x65032a7e
mov eax, edx
mov ecx, ebp
call fcn.64fda100
mov eax, edx
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebx
call fcn.64fda160
mov ebx, dword [esi + 4]
mov edx, dword [esi]
mov edi, dword [esi + 8]
mov esi, dword [esp + 0xdc]
cmp esi, ebx
ja 0x65032c11
sub ebx, esi
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edx, edi
cmp ebx, ebp
jg 0x65032bc7
mov ebp, ebx
cmp edx, eax
je 0x65032be9
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.64fda970
mov ecx, dword [esp + 0x128]
mov esi, dword [esp + 0xdc]
mov ebp, dword [esp + 0x2a4]
mov ebp, dword [ebp + 0xc]
add ebp, esi
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov eax, ebp
jmp 0x65031b15
mov eax, esi
mov ecx, ebx
call fcn.64fda160
inc ebx
mov ebp, dword [esp + 0xd4]
mov edi, dword [esp + 0x120]
mov ebp, edi
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xcc], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xcc]
mov edi, dword [esp + 0xd4]
cmp ebx, edi
jge 0x65032c7e
mov edi, dword [esi + 0x28]
mov esi, dword [esi + 0x24]
cmp ebx, ebp
jae 0x65032c9a
movzx ebp, byte [ebx + eax]
cmp esi, ebp
jg 0x65032c75
inc ebp
cmp edi, ebp
jb 0x65032c91
mov esi, dword [esp + 0x2a4]
mov dword [esi + 0x24], ebp
jmp 0x65032c1a
mov esi, dword [esp + 0x2a4]
jmp 0x65032c1a
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
jmp 0x65032b9d
mov ecx, ebp
mov edx, edi
call fcn.64fda140
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ebx, [edi + 2]
mov ebp, dword [esp + 0x2a4]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xc0]
cmp ebx, esi
jge 0x65032d14
shr ebx, 0x1f
mov edi, dword [esp + 0xc0]
add ebx, edi
sar ebx, 1
cmp ebx, ebp
jae 0x65032e4d
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x224], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x224]
jmp 0x65032d4f
mov edi, dword [esp + 0xc0]
jmp 0x65032ca3
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov ebx, dword [esp + 0x64]
inc ebx
movzx esi, byte [esp + 0x3a]
shl esi, 4
mov edi, dword [esp + 0xc0]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x64], ebx
mov ebx, esi
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x64]
cmp ebp, 2
jge 0x65032ca3
add edi, ebp
cmp esi, edi
jle 0x65032d0b
mov byte [esp + 0x3a], bl
shr bl, 4
mov byte [esp + 0x2e], bl
mov esi, dword [esp + 0x2a4]
mov ebp, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x65032d8b
inc ebx
cmp ebp, ebx
jb 0x65032e44
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x65032e2f
cmp ebp, edi
jle 0x65032e23
mov dword [esp + 0x118], ebx
mov ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0x11c]
cmp ebp, ebx
jl 0x65032d27
cmp ebp, esi
jge 0x65032d27
mov dword [esp + 0x11c], edi
nop
mov esi, dword [esp + 0x2a4]
mov edi, dword [esi + 4]
mov dword [esp + 0x114], edi
mov edi, dword [esi]
sub ebp, ebx
imul ebp, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
sub ebx, esi
add ebx, ebp
mov ebp, dword [esp + 0x114]
cmp ebp, ebx
jbe 0x65032e3b
movzx ebp, byte [esp + 0x2e]
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov ebp, dword [esp + 0xe4]
jmp 0x65032d27
mov ebp, dword [esp + 0xe4]
jmp 0x65032d27
mov ebp, dword [esp + 0xe4]
jmp 0x65032d27
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov ecx, ebx
mov edx, ebp
call fcn.64fda140
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ebx, [edi + 4]
mov ebp, dword [esp + 0x2a4]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xb4], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xb4]
cmp ebx, esi
jge 0x65032ecb
sar ebx, 0x1f
shr ebx, 0x1e
mov edi, dword [esp + 0xb4]
add ebx, edi
sar ebx, 2
cmp ebx, ebp
jae 0x65033004
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x214], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x214]
jmp 0x65032f06
mov edi, dword [esp + 0xb4]
jmp 0x65032e56
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov ebx, dword [esp + 0x6c]
inc ebx
movzx esi, byte [esp + 0x3c]
shl esi, 2
mov edi, dword [esp + 0xb4]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x6c], ebx
mov ebx, esi
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x6c]
cmp ebp, 4
jge 0x65032e56
add edi, ebp
cmp esi, edi
jle 0x65032ec2
mov byte [esp + 0x3c], bl
shr bl, 6
mov byte [esp + 0x2f], bl
mov esi, dword [esp + 0x2a4]
mov ebp, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x65032f42
inc ebx
cmp ebp, ebx
jb 0x65032ffb
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x65032fe6
cmp ebp, edi
jle 0x65032fda
mov dword [esp + 0x118], ebx
mov ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0x11c]
cmp ebp, ebx
jl 0x65032ede
cmp ebp, esi
jge 0x65032ede
mov dword [esp + 0x11c], edi
nop
mov esi, dword [esp + 0x2a4]
mov edi, dword [esi + 4]
mov dword [esp + 0x114], edi
mov edi, dword [esi]
sub ebp, ebx
imul ebp, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
sub ebx, esi
add ebx, ebp
mov ebp, dword [esp + 0x114]
cmp ebp, ebx
jbe 0x65032ff2
movzx ebp, byte [esp + 0x2f]
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov ebp, dword [esp + 0xe4]
jmp 0x65032ede
mov ebp, dword [esp + 0xe4]
jmp 0x65032ede
mov ebp, dword [esp + 0xe4]
jmp 0x65032ede
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov ecx, ebx
mov edx, ebp
call fcn.64fda140
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ebx, [edi + 8]
mov ebp, dword [esp + 0x2a4]
mov edi, dword [esp + 0xe4]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xa4]
cmp ebx, esi
jge 0x65033082
sar ebx, 0x1f
shr ebx, 0x1d
mov edi, dword [esp + 0xa4]
add ebx, edi
sar ebx, 3
cmp ebx, ebp
jae 0x650331ba
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x204], eax
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x204]
jmp 0x650330bc
mov edi, dword [esp + 0xa4]
jmp 0x6503300d
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov ebx, dword [esp + 0x60]
inc ebx
movzx esi, byte [esp + 0x37]
shl esi, 1
mov edi, dword [esp + 0xa4]
mov ebp, dword [esp + 0x120]
mov dword [esp + 0x60], ebx
mov ebx, esi
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x60]
cmp ebp, 8
jge 0x6503300d
add edi, ebp
cmp esi, edi
jle 0x65033079
mov byte [esp + 0x37], bl
shr bl, 7
mov byte [esp + 0x30], bl
mov esi, dword [esp + 0x2a4]
mov ebp, dword [esi + 0x28]
movzx ebx, bl
cmp dword [esi + 0x24], ebx
jg 0x650330f8
inc ebx
cmp ebp, ebx
jb 0x650331b1
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0x10]
mov ebp, dword [esi + 0x14]
mov dword [esp + 0x11c], ebp
mov ebp, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, edi
jg 0x6503319c
cmp ebp, edi
jle 0x65033190
mov dword [esp + 0x118], ebx
mov ebp, dword [esp + 0xe4]
mov ebx, dword [esp + 0x11c]
cmp ebp, ebx
jl 0x65033095
cmp ebp, esi
jge 0x65033095
mov dword [esp + 0x11c], edi
nop
mov esi, dword [esp + 0x2a4]
mov edi, dword [esi + 4]
mov dword [esp + 0x114], edi
mov edi, dword [esi]
sub ebp, ebx
imul ebp, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
mov esi, dword [esp + 0x118]
sub ebx, esi
add ebx, ebp
mov ebp, dword [esp + 0x114]
cmp ebp, ebx
jbe 0x650331a8
movzx ebp, byte [esp + 0x30]
xchg ebp, eax
mov byte [edi + ebx], al
xchg ebp, eax
mov ebp, dword [esp + 0xe4]
jmp 0x65033095
mov ebp, dword [esp + 0xe4]
jmp 0x65033095
mov ebp, dword [esp + 0xe4]
jmp 0x65033095
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov ecx, ebx
mov edx, ebp
call fcn.64fda140
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov byte [ebp + edi + 3], 0xff
mov ebx, dword [esp + 0x9c]
inc ebx
add ebp, 4
add esi, 3
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xe8], esi
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0x2d8]
mov ebx, dword [esp + 0x9c]
mov esi, dword [esp + 0xd4]
cmp ebx, esi
jge 0x6503329c
mov esi, dword [esp + 0xe8]
cmp esi, ebp
jae 0x65033301
movzx ebx, byte [esi + eax]
mov ebp, dword [esp + 0xf8]
cmp ebp, edx
jae 0x650332f8
mov byte [edi + ebp], bl
lea ebx, [esi + 1]
mov edi, dword [esp + 0x120]
cmp ebx, edi
jae 0x650332ef
lea ebx, [ebp + 1]
movzx edi, byte [esi + eax + 1]
cmp edx, ebx
jbe 0x650332e6
mov ebx, dword [esp + 0x29c]
xchg edi, eax
mov byte [ebp + ebx + 1], al
xchg edi, eax
lea edi, [esi + 2]
mov ebx, dword [esp + 0x120]
cmp edi, ebx
jae 0x650332dd
lea edi, [ebp + 2]
movzx ebx, byte [esi + eax + 2]
cmp edx, edi
jbe 0x650332d4
mov edi, dword [esp + 0x29c]
mov byte [ebp + edi + 2], bl
lea ebx, [ebp + 3]
cmp edx, ebx
ja 0x650331c3
jmp 0x650332cb
mov eax, dword [esp + 0x2d8]
mov edx, dword [eax + 0xc]
mov ebx, dword [esp + 0xdc]
add edx, ebx
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov eax, edx
mov edx, dword [esp + 0x2d0]
jmp 0x65031b15
mov eax, ebx
mov ecx, edx
call fcn.64fda100
mov eax, edi
mov ecx, edx
call fcn.64fda100
mov eax, edi
mov ecx, ebx
call fcn.64fda100
mov eax, ebx
mov ecx, edx
call fcn.64fda100
mov eax, ebx
mov ecx, edi
call fcn.64fda100
mov eax, ebp
mov ecx, edx
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
movzx ebx, byte [esp + 0x40]
mov byte [ebp + edi + 3], bl
mov ebx, dword [esp + 0x94]
inc ebx
add ebp, 4
mov esi, dword [esp + 0xec]
add esi, 3
movzx edx, byte [esp + 0x2d]
movzx edi, byte [esp + 0x2c]
mov dword [esp + 0x94], ebx
mov dword [esp + 0x104], ebp
mov dword [esp + 0xec], esi
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
movzx esi, byte [esp + 0x2b]
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x6503345c
mov edx, dword [esp + 0xec]
cmp edx, ebp
jae 0x650334b5
movzx ebx, byte [edx + eax]
lea edi, [edx + 1]
cmp edi, ebp
jae 0x650334ac
movzx edi, byte [edx + eax + 1]
xchg edi, eax
mov byte [esp + 0x31], al
xchg edi, eax
lea edi, [edx + 2]
cmp edi, ebp
jae 0x650334a3
movzx edi, byte [edx + eax + 2]
xchg esi, eax
cmp bl, al
xchg esi, eax
jne 0x650333ef
movzx esi, byte [esp + 0x31]
movzx ebp, byte [esp + 0x2c]
xchg esi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg esi, eax
jne 0x650333e8
movzx ebp, byte [esp + 0x2d]
xchg edi, eax
xchg ebp, ebx
cmp al, bl
xchg ebp, ebx
xchg edi, eax
jne 0x650333f9
mov dword [esp + 0x1dc], eax
xor eax, eax
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x1dc]
jmp 0x65033410
movzx ebp, byte [esp + 0x2d]
jmp 0x650333f9
movzx ebp, byte [esp + 0x2d]
movzx esi, byte [esp + 0x31]
mov dword [esp + 0x1d4], eax
mov eax, 0xffffffff
mov byte [esp + 0x40], al
mov eax, dword [esp + 0x1d4]
mov ebp, dword [esp + 0x104]
mov edx, dword [esp + 0xe0]
cmp ebp, edx
jae 0x6503349a
xchg edi, eax
mov byte [esp + 0x3b], al
xchg edi, eax
mov edi, dword [esp + 0x298]
mov byte [edi + ebp], bl
lea ebx, [ebp + 1]
cmp edx, ebx
jbe 0x65033491
xchg esi, eax
mov byte [ebp + edi + 1], al
xchg esi, eax
lea ebx, [ebp + 2]
cmp edx, ebx
jbe 0x65033488
movzx ebx, byte [esp + 0x3b]
mov byte [ebp + edi + 2], bl
lea ebx, [ebp + 3]
cmp edx, ebx
ja 0x6503330a
jmp 0x6503347f
mov ebx, dword [esp + 0x2ac]
mov ebp, dword [ebx + 0xc]
mov edi, dword [esp + 0xdc]
add ebp, edi
mov eax, dword [esp + 0x2d8]
mov esi, edx
mov edx, ebp
jmp 0x650332af
mov eax, ebx
mov ecx, edx
call fcn.64fda100
mov eax, ebx
mov ecx, edx
call fcn.64fda100
mov eax, ebx
mov ecx, edx
call fcn.64fda100
mov eax, ebp
mov ecx, edx
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, edx
mov ecx, ebp
call fcn.64fda100
lea ecx, [eax + edx*2 + 1]
movzx ecx, byte [ecx]
mov ebx, dword [esp + 0x2ac]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
xchg edi, eax
mov byte [esp + 0xc], al
xchg edi, eax
xchg edi, eax
mov byte [esp + 0xd], al
xchg edi, eax
xchg edi, eax
mov byte [esp + 0xe], al
xchg edi, eax
mov byte [esp + 0xf], cl
call fcn.6502e440
mov eax, dword [esp + 0xac]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2ac]
mov ebx, dword [esp + 0x120]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xac]
cmp ebx, esi
jge 0x65033585
shl ebx, 1
cmp ebx, ebp
jae 0x650335a1
mov edx, dword [esp + 0xac]
lea edi, [eax + edx*2]
movzx edi, byte [edi]
inc ebx
cmp ebx, ebp
jb 0x650334be
jmp 0x65033598
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov edx, dword [esp + 0x2d0]
mov edi, dword [esp + 0x2c4]
mov eax, ebx
mov ebx, dword [esp + 0x2e0]
jmp 0x65031b15
mov eax, esi
mov ecx, ebx
call fcn.64fda160
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], cl
movzx ecx, byte [esp + 0x3e]
mov byte [esp + 0xf], cl
call fcn.6502e440
mov eax, dword [esp + 0xa0]
inc eax
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0x2ac]
movzx ebx, byte [esp + 0x27]
mov ebp, dword [esp + 0xe4]
mov esi, dword [esp + 0x2c8]
mov edi, dword [esp + 0x120]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2e0]
mov ebp, edi
movzx esi, byte [esp + 0x27]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x2c8]
mov ebx, dword [esp + 0xa0]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x650336aa
cmp ebx, ebp
jae 0x650336bd
movzx ecx, byte [ebx + eax]
xchg esi, eax
cmp cl, al
xchg esi, eax
jne 0x65033695
mov dword [esp + 0x1b4], eax
xor eax, eax
mov byte [esp + 0x3e], al
jmp 0x650335cf
mov dword [esp + 0x1bc], eax
mov eax, 0xffffffff
mov byte [esp + 0x3e], al
jmp 0x650335cf
mov eax, dword [esp + 0x2b8]
mov ebx, dword [esp + 0xdc]
jmp 0x650335aa
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
add edx, 2
mov ebx, dword [esp + 0x2b8]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0xa8]
cmp ebx, esi
jge 0x65033737
shr ebx, 0x1f
mov edx, dword [esp + 0xa8]
add ebx, edx
sar ebx, 1
cmp ebx, ebp
jae 0x65033844
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x1a4], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x1a4]
jmp 0x65033780
mov ebp, dword [esp + 0x120]
jmp 0x650336c6
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov edx, dword [esp + 0x70]
inc edx
movzx ebx, byte [esp + 0x38]
shl ebx, 4
mov ebp, dword [esp + 0xa8]
mov edi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x120]
mov esi, edi
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x70]
cmp edi, 2
jge 0x650336c6
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x6503372e
mov byte [esp + 0x38], bl
shr bl, 4
mov byte [esp + 0x41], bl
shl ebx, 4
movzx esi, byte [esp + 0x41]
add ebx, esi
mov byte [esp + 0x32], bl
mov esi, dword [esp + 0x2b8]
mov ebx, dword [esi + 0x10]
mov edx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp ebx, ebp
jg 0x65033828
cmp edi, ebp
jle 0x6503381f
mov edi, dword [esp + 0xe4]
cmp edi, edx
jl 0x6503382f
cmp edi, esi
jge 0x6503382f
mov dword [esp + 0x11c], ebx
nop
mov esi, dword [esp + 0x2b8]
mov ebx, dword [esi + 4]
mov dword [esp + 0x118], ebx
mov ebx, dword [esi]
sub edi, edx
imul edi, dword [esi + 0xc]
mov edx, dword [esp + 0x11c]
sub ebp, edx
lea edx, [ebp + edi]
mov ebp, dword [esp + 0x118]
cmp ebp, edx
jbe 0x6503383b
movzx ebp, byte [esp + 0x32]
xchg ebp, eax
mov byte [ebx + edx], al
xchg ebp, eax
jmp 0x6503374a
mov edi, dword [esp + 0xe4]
jmp 0x6503382f
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x2b8]
jmp 0x6503374a
mov eax, edx
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ebx, [edi + 2]
mov ebp, dword [esp + 0x2ac]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xc8], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x650338c6
shr ebx, 0x1f
mov edi, dword [esp + 0xc8]
add ebx, edi
sar ebx, 1
cmp ebx, ebp
jae 0x65033998
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x194], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x194]
jmp 0x65033955
mov edx, dword [esp + 0x2d0]
mov esi, dword [esp + 0xd4]
jmp 0x65033737
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], edx
mov byte [esp + 0xc], cl
mov byte [esp + 0xd], cl
mov byte [esp + 0xe], cl
mov byte [esp + 0xf], bl
call fcn.6502e440
mov eax, dword [esp + 0x7c]
inc eax
movzx ebx, byte [esp + 0x33]
shl ebx, 4
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x2ac]
movzx esi, byte [esp + 0x29]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0xc8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x7c]
cmp ebp, 2
jge 0x6503384d
add ebp, edi
cmp edx, ebp
jle 0x6503384d
mov byte [esp + 0x33], bl
shr bl, 4
mov byte [esp + 0x41], bl
shl ebx, 4
movzx ecx, byte [esp + 0x41]
add ecx, ebx
xchg esi, eax
cmp al, cl
xchg esi, eax
jne 0x6503398e
xor ebx, ebx
jmp 0x650338d9
mov ebx, 0xffffffff
jmp 0x650338d9
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
add edx, 4
mov ebx, dword [esp + 0x2b8]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0xb8]
cmp ebx, esi
jge 0x65033a16
sar ebx, 0x1f
shr ebx, 0x1e
mov edx, dword [esp + 0xb8]
add ebx, edx
sar ebx, 2
cmp ebx, ebp
jae 0x65033b1f
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x184], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x184]
jmp 0x65033a61
mov ebp, dword [esp + 0x120]
jmp 0x650339a1
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov edx, dword [esp + 0x68]
inc edx
shl edi, 2
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xd4]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x68], edx
mov ebx, edi
mov edx, dword [esp + 0xb8]
mov edi, dword [esp + 0x2c4]
mov edi, dword [esp + 0x68]
cmp edi, 4
jge 0x650339a1
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x65033a0d
mov byte [esp + 0x39], bl
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp edx, ebp
jg 0x65033afe
cmp edi, ebp
jle 0x65033af5
mov edi, dword [esp + 0xe4]
cmp edi, ebx
jl 0x65033b05
cmp edi, esi
jge 0x65033b05
mov dword [esp + 0x11c], edx
nop
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 4]
mov dword [esp + 0x118], edx
mov edx, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
sub ebp, ebx
lea ebx, [ebp + edi]
mov ebp, dword [esp + 0x118]
cmp ebp, ebx
jbe 0x65033b16
movzx ebp, byte [esp + 0x39]
mov edi, ebp
xchg ebp, eax
shr al, 6
xchg ebp, eax
imul ebp, ebp, 0x55
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
jmp 0x65033a29
mov edi, dword [esp + 0xe4]
jmp 0x65033b05
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x2b8]
movzx edi, byte [esp + 0x39]
jmp 0x65033a29
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ebx, [edi + 4]
mov ebp, dword [esp + 0x2ac]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0x88]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x65033ba5
sar ebx, 0x1f
shr ebx, 0x1e
mov edi, dword [esp + 0x88]
add ebx, edi
sar ebx, 2
cmp ebx, ebp
jae 0x65033c87
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x174], eax
xor eax, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x174]
jmp 0x65033c39
mov edx, dword [esp + 0x2d0]
mov esi, dword [esp + 0xd4]
jmp 0x65033a16
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x3d]
mov byte [esp + 0xf], dl
call fcn.6502e440
mov eax, dword [esp + 0x74]
inc eax
movzx ebx, byte [esp + 0x35]
shl ebx, 2
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x2ac]
movzx esi, byte [esp + 0x28]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x88]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x74]
cmp ebp, 4
jge 0x65033b28
add ebp, edi
cmp edx, ebp
jle 0x65033b28
mov byte [esp + 0x35], bl
shr bl, 6
imul ebx, ebx, 0x55
xchg esi, eax
cmp al, bl
xchg esi, eax
jne 0x65033c72
mov dword [esp + 0x164], eax
xor eax, eax
mov byte [esp + 0x3d], al
jmp 0x65033bb8
mov dword [esp + 0x16c], eax
mov eax, 0xffffffff
mov byte [esp + 0x3d], al
jmp 0x65033bb8
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
add edx, 8
mov ebx, dword [esp + 0x2b8]
mov edi, dword [esp + 0xe4]
mov ebx, dword [esp + 0x2e0]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0xbc]
cmp ebx, esi
jge 0x65033d05
sar ebx, 0x1f
shr ebx, 0x1d
mov edx, dword [esp + 0xbc]
add ebx, edx
sar ebx, 3
cmp ebx, ebp
jae 0x65033e10
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x154], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x154]
jmp 0x65033d4f
mov ebp, dword [esp + 0x120]
jmp 0x65033c90
mov ebx, dword [esp + 0x2e0]
mov eax, dword [esp + 0xdc]
jmp 0x65031b15
mov edx, dword [esp + 0x78]
inc edx
shl edi, 1
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0xd4]
mov ebp, dword [esp + 0x120]
mov esi, dword [esp + 0xd4]
mov dword [esp + 0x78], edx
mov ebx, edi
mov edx, dword [esp + 0xbc]
mov edi, dword [esp + 0x2c4]
mov edi, dword [esp + 0x78]
cmp edi, 8
jge 0x65033c90
lea ebp, [edi + edx]
cmp esi, ebp
jle 0x65033cfc
mov byte [esp + 0x34], bl
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 0x10]
mov ebx, dword [esi + 0x14]
mov edi, dword [esi + 0x18]
mov esi, dword [esi + 0x1c]
cmp edx, ebp
jg 0x65033def
cmp edi, ebp
jle 0x65033de6
mov edi, dword [esp + 0xe4]
cmp edi, ebx
jl 0x65033df6
cmp edi, esi
jge 0x65033df6
mov dword [esp + 0x11c], edx
nop
mov esi, dword [esp + 0x2b8]
mov edx, dword [esi + 4]
mov dword [esp + 0x118], edx
mov edx, dword [esi]
sub edi, ebx
imul edi, dword [esi + 0xc]
mov ebx, dword [esp + 0x11c]
sub ebp, ebx
lea ebx, [ebp + edi]
mov ebp, dword [esp + 0x118]
cmp ebp, ebx
jbe 0x65033e07
movzx ebp, byte [esp + 0x34]
mov edi, ebp
xchg ebp, eax
shr al, 7
xchg ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
xchg ebp, eax
mov byte [edx + ebx], al
xchg ebp, eax
jmp 0x65033d18
mov edi, dword [esp + 0xe4]
jmp 0x65033df6
mov edi, dword [esp + 0xe4]
mov esi, dword [esp + 0x2b8]
movzx edi, byte [esp + 0x34]
jmp 0x65033d18
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
lea ebx, [edi + 8]
mov ebp, dword [esp + 0x2ac]
mov edi, dword [esp + 0xe4]
mov edx, dword [esp + 0x2d0]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x2e0]
mov ebx, dword [esp + 0x8c]
mov edx, dword [esp + 0xd4]
cmp ebx, edx
jge 0x65033e99
sar ebx, 0x1f
shr ebx, 0x1d
mov edi, dword [esp + 0x8c]
add ebx, edi
sar ebx, 3
cmp ebx, ebp
jae 0x65033f82
movzx ebx, byte [ebx + eax]
mov dword [esp + 0x144], eax
xor eax, eax
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x144]
jmp 0x65033f32
mov edx, dword [esp + 0x2d0]
mov esi, dword [esp + 0xd4]
jmp 0x65033d05
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0xe4]
mov dword [esp + 8], ecx
mov byte [esp + 0xc], bl
mov byte [esp + 0xd], bl
mov byte [esp + 0xe], bl
movzx edx, byte [esp + 0x3f]
mov byte [esp + 0xf], dl
call fcn.6502e440
mov eax, dword [esp + 0x80]
inc eax
movzx ebx, byte [esp + 0x36]
shl ebx, 1
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x2ac]
movzx esi, byte [esp + 0x2a]
mov edi, dword [esp + 0xe4]
mov ecx, dword [esp + 0x128]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c8]
mov ebp, dword [esp + 0x80]
cmp ebp, 8
jge 0x65033e19
add ebp, edi
cmp edx, ebp
jle 0x65033e19
mov byte [esp + 0x36], bl
shr bl, 7
neg ebx
xchg esi, eax
cmp al, bl
xchg esi, eax
jne 0x65033f6d
mov dword [esp + 0x134], eax
xor eax, eax
mov byte [esp + 0x3f], al
jmp 0x65033eac
mov dword [esp + 0x13c], eax
mov eax, 0xffffffff
mov byte [esp + 0x3f], al
jmp 0x65033eac
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
movzx ecx, byte [edi + ebx]
shr cl, 1
add ecx, ebp
mov byte [eax + edi], cl
lea ecx, [edi + 1]
mov ebp, dword [esp + 0x120]
mov edi, dword [esp + 0x2c4]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x128]
mov edi, dword [esp + 0x100]
cmp edi, esi
jge 0x65033fd3
cmp edi, ebp
jae 0x65034075
movzx ebp, byte [edi + eax]
jb 0x65033f8b
jmp 0x65034067
mov dword [esp + 0x2a0], ebx
mov edi, esi
jmp 0x65034018
mov ecx, dword [esp + 0x2a0]
movzx edx, byte [edi + ecx]
add edx, esi
mov esi, edx
shr edx, 0x1f
add edx, esi
sar edx, 1
add edx, ebx
mov byte [eax + edi], dl
lea esi, [edi + 1]
mov edi, dword [esp + 0x10c]
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x2d0]
mov ebx, dword [esp + 0x2a0]
cmp esi, ebp
jge 0x65034040
jae 0x6503405e
mov dword [esp + 0xfc], esi
movzx ebx, byte [esi + eax]
sub esi, edi
cmp esi, ebp
jae 0x65034055
movzx esi, byte [esi + eax]
mov edi, dword [esp + 0xfc]
cmp edi, ebp
jb 0x65033fde
jmp 0x6503404c
mov edi, dword [esp + 0x2c4]
jmp 0x65031ca4
mov eax, edi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, esi
mov ecx, ebp
call fcn.64fda100
mov eax, edi
mov ecx, dword [esp + 0x120]
call fcn.64fda100
mov eax, edi
mov ecx, ebp
call fcn.64fda100
movzx ecx, byte [esi + eax]
add ecx, edi
mov byte [eax + esi], cl
inc esi
mov ecx, dword [esp + 0x128]
mov edi, dword [esp + 0x2c4]
cmp esi, ebp
jge 0x65031ca4
movzx edi, byte [esi + ebx]
jb 0x6503407e
mov eax, esi
mov ecx, ebp
call fcn.64fda100
movzx ebx, byte [ebx + eax]
add ebx, edi
mov edi, dword [esp + 0xf4]
mov byte [eax + edi], bl
lea ebx, [edi + 1]
mov edi, dword [esp + 0x2c4]
cmp ebx, ebp
jge 0x65031ca4
jae 0x650340eb
mov dword [esp + 0xf4], ebx
movzx edi, byte [ebx + eax]
sub ebx, esi
cmp ebx, ebp
jb 0x650340ad
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, ebx
mov ecx, ebp
call fcn.64fda100
mov eax, 1
call fcn.64fda160
mov eax, 1
call fcn.64fda160
call fcn.64fb02e0
call fcn.64fb02e0
call fcn.64fda100
nop
call fcn.64fd8c20
jmp fcn.65030f50