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

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x15c
mov eax, dword [esp + 0x188]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0xb4], 0
mov dword [esp + 0x30], eax
lea eax, [ebp + 0x8000]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x34], edx
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov edx, dword [eax*4 + 0x7079f380]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x3c], eax
mov eax, dword [ecx]
sar dword [esp + 0x3c], 1
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x170]
cmp dword [esp + 0x178], 2
mov dword [esp + 0xa0], eax
seta cl
add edx, edi
cmp edx, dword [ebp + 0x156160]
mov byte [esp + 0x90], cl
mov dword [esp + 0xa8], edx
setge al
mov esi, eax
mov eax, dword [esp + 0x174]
add eax, edi
cmp eax, dword [ebp + 0x156168]
mov dword [esp + 0xac], eax
setge al
mov edi, eax
or eax, esi
mov ebx, edi
xor eax, 1
xor ebx, 1
movzx eax, al
and ebx, ecx
mov dword [esp + 0x78], eax
movzx eax, bl
mov dword [esp + 0x74], eax
mov eax, esi
xor eax, 1
and eax, ecx
cmp dword [esp + 0x178], 2
movzx eax, al
mov dword [esp + 0x6c], eax
ja 0x700e574a
cmp byte [ebp + 0x10f32f], 0
jne 0x700e64a1
mov eax, dword [esp + 0x178]
mov eax, dword [eax*4 + 0x7079f300]
cmp dword [esp + 0x50], eax
mov dword [esp + 0x5c], eax
je 0x700e577e
mov dword [esp + 8], 0x5ed
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079ff9c
call fcn.6feeef40
cmp dword [esp + 0x178], 6
je 0x700e7080
mov edx, dword [ebp + 0x1f5ec8]
test edx, edx
jne 0x700e59e2
movzx eax, byte [esp + 0x90]
mov dword [esp + 0x7c], eax
mov eax, dword [ebp + 0x1f5eb8]
test eax, eax
je 0x700e57bd
mov eax, edi
movzx edi, al
and dword [esp + 0x74], esi
and dword [esp + 0x6c], edi
mov eax, dword [esp + 0x178]
lea esi, [ebp + 0xe070]
xor ebx, ebx
lea edx, [esp + 0x120]
mov dword [esp + 0x48], ebp
lea edi, [esp + 0xf0]
mov dword [esp + 0x88], esi
mov eax, dword [eax*4 + 0x7079f440]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x174]
add eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x178]
mov eax, dword [eax*4 + 0x7079f400]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x170]
and eax, 7
add eax, eax
mov dword [esp + 0x44], eax
lea eax, [ebp + 0x1f7d84]
mov ebp, edx
mov dword [esp + 0x80], eax
mov dword [esp + 0x28], eax
mov ecx, dword [esi]
add esi, 0x3c
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
sar edx, cl
shr eax, cl
mov ecx, edx
mov edx, dword [esp + 0x48]
add ecx, dword [edx + ebx*4 + 0x1f7d78]
add ebx, 1
mov dword [esp], ebp
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi - 0x38]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x44]
mov dword [esp], edi
shr eax, cl
sar edx, cl
mov ecx, dword [esp + 0x28]
mov dword [esp + 8], eax
add ecx, edx
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
add ebp, dword [esp + 0x24]
add dword [esp + 0x28], 0x10
add edi, dword [esp + 0x38]
cmp ebx, 3
jne 0x700e5832
mov ebp, dword [esp + 0x48]
mov edi, dword [esp + 0x50]
mov eax, dword [ebp + 0x1f7db4]
add eax, dword [esp + 0x174]
mov dword [esp + 8], edi
mov dword [esp + 4], eax
lea eax, [esp + 0xc8]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x170]
mov edi, dword [esp + 0x5c]
and eax, 7
mov dword [esp + 0xa4], eax
lea eax, [ebp + eax + 0x1f7db8]
mov dword [esp + 0x84], eax
mov dword [esp + 4], eax
lea eax, [esp + 0xc0]
mov dword [esp + 8], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 0x1f5eec]
test eax, eax
je 0x700e6358
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x700e69a3
mov dword [esp + 0x70], 1
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0x7fffffff
mov dword [esp + 0x8c], 0x7fffffff
mov eax, dword [ebp + 0x1f5ee4]
test eax, eax
jne 0x700e6395
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x700e5ee0
mov eax, dword [esp + 0x178]
mov eax, dword [eax*4 + 0x7079f11c]
cmp eax, 0xc
mov dword [esp + 0x7c], eax
ja 0x700e6982
cmp dword [esp + 0x34], 0
jl 0x700e6441
jle 0x700e6436
mov dword [esp + 0x28], 0
xor ebx, ebx
mov dword [esp + 0x2c], 0
mov esi, ebx
sar esi, 1
imul esi, dword [esp + 0x3c]
add esi, dword [esp + 0x170]
cmp esi, dword [ebp + 0x156160]
jge 0x700e5b50
mov edi, ebx
and edi, 1
imul edi, dword [esp + 0x3c]
add edi, dword [esp + 0x174]
cmp edi, dword [ebp + 0x156168]
jge 0x700e5b50
mov eax, dword [esp + 0x7c]
cmp eax, 0xc
ja case.default.0x700e59db
jmp dword [eax*4 + 0x707a0028]
mov eax, dword [ebp + 0x1f5ed0]
cmp dword [esp + 0x178], eax
ja 0x700e6460
mov eax, dword [ebp + 0x1f5ecc]
mov edx, 0
cmp dword [esp + 0x178], eax
cmovae edx, dword [esp + 0x78]
mov dword [esp + 0x78], edx
jbe 0x700e64d0
mov edx, 1
jmp 0x700e647c
lea eax, [ebp + 0x10f32d]
mov byte [eax], bl
mov eax, dword [ebp + 0x1f5ee4]
test eax, eax
jne 0x700e5e7b
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
sbb edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
xor eax, eax
cmp ebx, 3
setne al
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x14], eax
lea eax, [esp + 0xe0]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 8], eax
mov eax, ebp
call fcn.700e5640
mov eax, dword [esp + 0xd0]
cmp eax, 0x7fffffff
je 0x700e6441
add eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xbc]
mov ecx, dword [ebp + 0xe1e0]
mov edi, eax
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xe0]
add dword [esp + 0x48], eax
adc dword [esp + 0x4c], edx
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0xb8], eax
mov eax, edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0xbc], edx
imul dword [ebp + 0xe1e4]
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
shld edi, esi, cl
shl esi, cl
shrd eax, edx, 8
mov dword [esp + 0x28], eax
sar edx, 8
xor eax, eax
test cl, 0x20
cmovne edi, esi
cmovne esi, eax
add dword [esp + 0x28], esi
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], edi
lea esi, [esi]
mov edi, dword [esp + 0x2c]
add ebx, 1
mov eax, 1
cmp dword [esp + 0x34], edi
jg 0x700e5e52
jl 0x700e5b76
mov edi, dword [esp + 0x28]
cmp dword [esp + 0x30], edi
ja 0x700e5e52
xor eax, eax
cmp ebx, 4
jne 0x700e6441
test al, al
je 0x700e6441
mov eax, dword [esp + 0xa4]
mov ebx, dword [0x7079f3f0]
mov edi, dword [ebp + 0x1f7db4]
add edi, dword [esp + 0x174]
lea esi, [ebp + eax + 0x1f7db8]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x48], 1
mov eax, dword [eax*4 + 0x7079f3c0]
sub dword [esp + 0x28], eax
mov ecx, eax
shl dword [esp + 0x48], cl
cmp eax, dword [ebx*4 + 0x7079f340]
mov dword [esp + 0x3c], eax
je 0x700e5bfe
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079fef4
call fcn.6feeef40
mov edx, dword [esp + 0x3c]
test edx, edx
js 0x700e759d
mov eax, dword [esp + 0x28]
test eax, eax
js 0x700e757c
mov ecx, dword [esp + 0x48]
test ecx, ecx
jle 0x700e75c5
mov dword [esp + 0x48], ebp
xor edx, edx
xor ebx, ebx
xor eax, eax
mov ebp, ecx
nop
movsx ecx, byte [edi + eax]
or ebx, ecx
movsx ecx, byte [esi + eax]
add eax, 1
or edx, ecx
cmp eax, ebp
jne 0x700e5c30
movzx ecx, byte [esp + 0x28]
mov eax, 1
mov ebp, dword [esp + 0x48]
shl eax, cl
xor ecx, ecx
test ebx, eax
setg cl
test edx, eax
setg al
movzx eax, al
lea eax, [ecx + eax*2]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0xb8]
mov ecx, dword [ebp + 0xe1e0]
lea eax, [eax + edi*4]
mov edi, dword [esp + 0xbc]
shl eax, 4
mov ebx, dword [ebp + eax + 0x15382c]
add ebx, dword [esp + 0xb4]
mov eax, ebx
imul dword [ebp + 0xe1e4]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x2c], edx
mov edx, edi
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x700e5cde
mov edx, eax
xor eax, eax
add dword [esp + 0x28], eax
adc dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x34], eax
jl 0x700e5d04
jg 0x700e68c1
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x30], eax
ja 0x700e68c1
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x120]
xor ebx, ebx
mov esi, dword [esp + 0x88]
lea edi, [esp + 0xf0]
mov dword [esp + 0x3c], ebp
mov ebp, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esi]
add esi, 0x3c
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
sar eax, cl
add eax, dword [edx + ebx*4 + 0x1f7d78]
add ebx, 1
mov edx, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov dword [esp], eax
shr edx, cl
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi - 0x38]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edi
sar eax, cl
add eax, dword [esp + 0x28]
shr edx, cl
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
add ebp, dword [esp + 0x24]
add dword [esp + 0x28], 0x10
add edi, dword [esp + 0x38]
cmp ebx, 3
jne 0x700e5d2c
mov ebp, dword [esp + 0x3c]
mov edi, dword [esp + 0x50]
mov eax, dword [ebp + 0x1f7db4]
add eax, dword [esp + 0x174]
mov dword [esp + 8], edi
lea edi, [esp + 0xc8]
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
lea eax, [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edi, dword [ebp + 0x1f5ee0]
mov dword [ebp + 0x11d35c], 0
mov dword [ebp + 0x11d370], 0
test edi, edi
je 0x700e5ef4
mov edx, dword [esp + 0x178]
mov eax, ebp
call fcn.700e0220
movzx eax, byte [esp + 0x74]
test byte [esp + 0x70], al
jne 0x700e5f03
lea esi, [esi]
mov eax, dword [esp + 0x70]
and eax, dword [esp + 0x6c]
test al, 1
je 0x700e62ca
mov eax, dword [esp + 0x178]
mov eax, dword [eax*4 + 0x7079f0e8]
cmp eax, 0xc
mov dword [esp + 0x3c], eax
ja case.default.0x700e5e4b
jmp dword [eax*4 + 0x707a005c]
cmp ebx, 3
jle 0x700e5995
nop
lea esi, [esi]
jmp 0x700e5b78
lea eax, [ebp + 0x10f32f]
mov byte [eax], bl
mov eax, dword [ebp + 0x1f5ee4]
test eax, eax
je 0x700e5a36
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x58]
call fcn.700e04f0
lea ecx, [eax + 0x250]
mov eax, dword [eax + 0x250]
mov dword [ebp + 0x11d360], eax
mov eax, dword [ecx + 4]
mov dword [ebp + 0x11d364], eax
mov eax, dword [ecx + 8]
mov dword [ebp + 0x11d368], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp + 0x11d36c], eax
jmp 0x700e5a36
lea eax, [ebp + 0x10f32c]
jmp 0x700e5a26
lea eax, [ebp + 0x10f32e]
jmp 0x700e5a26
mov dword [ebp + 0x11d35c], 0
mov dword [ebp + 0x11d370], 0
movzx eax, byte [esp + 0x74]
test byte [esp + 0x70], al
je 0x700e5e20
mov eax, dword [esp + 0x178]
mov eax, dword [eax*4 + 0x7079f0b4]
cmp eax, 0xc
mov dword [esp + 0x3c], eax
ja case.default.0x700e5f1e
jmp dword [eax*4 + 0x707a0090]
lea eax, [ebp + 0x10f32d]
nop
lea esi, [esi]
mov byte [eax], 0
mov esi, dword [ebp + 0x1f5ee4]
test esi, esi
jne 0x700e6ff0
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov edx, ebx
call fcn.700e04f0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
lea eax, [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x18], edi
mov dword [esp], eax
mov eax, ebp
call fcn.700e2170
mov eax, dword [ebp + 0xe1e4]
imul dword [esp + 0xb4]
mov ecx, dword [ebp + 0xe1e0]
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], 0
xor ebx, ebx
mov edx, dword [esp + 0x2c]
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xb8]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, ebx
add dword [esp + 0x28], eax
adc dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
cmp edi, eax
jl 0x700e61f0
jg 0x700e601b
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x30], eax
jbe 0x700e61f0
mov eax, dword [esp + 0xac]
cmp eax, dword [ebp + 0x156168]
jl 0x700e7118
mov eax, dword [esp + 0xa4]
mov ebx, dword [0x7079f3f0]
mov edi, dword [ebp + 0x1f7db4]
add edi, dword [esp + 0x174]
lea esi, [ebp + eax + 0x1f7db8]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x6c], 1
mov eax, dword [eax*4 + 0x7079f3c0]
sub dword [esp + 0x28], eax
mov ecx, eax
shl dword [esp + 0x6c], cl
cmp eax, dword [ebx*4 + 0x7079f340]
mov dword [esp + 0x48], eax
je 0x700e60a3
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079fef4
call fcn.6feeef40
mov edx, dword [esp + 0x48]
test edx, edx
js 0x700e755b
mov eax, dword [esp + 0x28]
test eax, eax
js 0x700e753a
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jle 0x700e75be
mov dword [esp + 0x6c], ebp
xor edx, edx
xor ebx, ebx
xor eax, eax
mov ebp, ecx
movsx ecx, byte [edi + eax]
or ebx, ecx
movsx ecx, byte [esi + eax]
add eax, 1
or edx, ecx
cmp eax, ebp
jne 0x700e60d3
movzx ecx, byte [esp + 0x28]
mov eax, 1
mov ebp, dword [esp + 0x6c]
shl eax, cl
xor ecx, ecx
test ebx, eax
setg cl
test edx, eax
setg al
movzx eax, al
lea eax, [ecx + eax*2]
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0xb8]
mov ecx, dword [ebp + 0xe1e0]
lea eax, [eax + edi*4]
mov edi, dword [esp + 0xbc]
shl eax, 4
mov ebx, dword [ebp + eax + 0x153828]
add ebx, dword [esp + 0xb4]
mov eax, ebx
imul dword [ebp + 0xe1e4]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x2c], edx
mov edx, edi
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x700e6181
mov edx, eax
xor eax, eax
add dword [esp + 0x28], eax
adc dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x34], eax
jl 0x700e61f0
jg 0x700e619f
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x30], eax
jbe 0x700e61f0
cmp dword [esp + 0x178], 6
je 0x700e71d1
jbe 0x700e764b
cmp dword [esp + 0x178], 9
je 0x700e7708
cmp dword [esp + 0x178], 0xc
lea eax, [ebp + 0x153a70]
jne 0x700e771f
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x8c], ebx
mov dword [eax], edx
lea esi, [esi]
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x120]
xor ebx, ebx
mov esi, dword [esp + 0x88]
lea edi, [esp + 0xf0]
mov dword [esp + 0x30], ebp
mov ebp, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esi]
add esi, 0x3c
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x40]
sar eax, cl
add eax, dword [edx + ebx*4 + 0x1f7d78]
add ebx, 1
mov edx, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov dword [esp], eax
shr edx, cl
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi - 0x38]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edi
sar eax, cl
add eax, dword [esp + 0x28]
shr edx, cl
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
add ebp, dword [esp + 0x24]
add dword [esp + 0x28], 0x10
add edi, dword [esp + 0x38]
cmp ebx, 3
jne 0x700e6218
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x50]
mov eax, dword [ebp + 0x1f7db4]
add eax, dword [esp + 0x174]
mov dword [esp + 8], ebx
lea ebx, [esp + 0xc8]
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
lea eax, [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x17c]
mov edi, dword [esp + 0x180]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
cmp eax, 0x7fffffff
mov dword [ebx], eax
setne bl
mov dword [edi], edx
mov dword [edi + 4], ecx
je 0x700e6314
mov eax, ecx
not edx
xor eax, 0x7fffffff
or edx, eax
je 0x700e6314
mov eax, dword [esp + 0x184]
test eax, eax
jne 0x700e6f20
cmp dword [esp + 0x178], 0xc
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0xa0]
je 0x700e63d7
cmp dword [eax], edi
je 0x700e634d
mov dword [esp + 8], 0x6d7
mov dword [esp + 4], 0x7079fc68
mov dword [esp], str.tp_orig__tp
call fcn.6feeef40
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], 1
test eax, eax
jne 0x700e7071
mov eax, dword [ebp + 0x1f5ee4]
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0x7fffffff
mov dword [esp + 0x8c], 0x7fffffff
test eax, eax
je 0x700e594b
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x58]
call fcn.700e04f0
mov ebx, dword [ebp + 0x11d360]
lea edx, [eax + 0x250]
mov dword [eax + 0x250], ebx
mov eax, dword [ebp + 0x11d364]
mov dword [edx + 4], eax
mov eax, dword [ebp + 0x11d368]
mov dword [edx + 8], eax
mov eax, dword [ebp + 0x11d36c]
mov dword [edx + 0xc], eax
jmp 0x700e594b
cmp edi, dword [eax]
jae 0x700e68a0
test bl, bl
je 0x700e71b0
cmp dword [esp + 0x64], 0
jle 0x700e7170
mov dword [esp + 8], 0x6d5
mov dword [esp + 4], 0x7079fc68
mov dword [esp], str.best_dist___INT_MAX
call fcn.6feeef40
jmp 0x700e634d
mov dword [esp + 8], 0x49
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor eax, eax
jmp 0x700e5a26
cmp dword [esp + 0x30], 0
ja 0x700e5983
mov eax, dword [ebp + 0x1f5eb4]
test eax, eax
je 0x700e5d04
mov eax, dword [esp + 0x78]
xor eax, 1
and dword [esp + 0x70], eax
jmp 0x700e5d04
and ebx, esi
movzx eax, bl
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x1f5ecc]
mov dword [esp + 0x78], 0
mov edx, edi
movzx edx, dl
and dword [esp + 0x6c], edx
cmp dword [esp + 0x178], eax
seta al
movzx eax, al
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x90]
and dword [esp + 0x7c], eax
jmp 0x700e57a6
mov eax, dword [esp + 0x17c]
mov dword [eax], 0
mov eax, dword [esp + 0x180]
mov dword [eax], 0
mov dword [eax + 4], 0
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret
and ebx, esi
movzx ebx, bl
mov dword [esp + 0x74], ebx
jmp 0x700e6477
lea eax, [ebp + 0x10f32f]
jmp 0x700e5f30
lea eax, [ebp + 0x10f32e]
jmp 0x700e5f30
lea eax, [ebp + 0x10f32e]
mov byte [eax], 0
mov esi, dword [ebp + 0x1f5ee4]
test esi, esi
jne 0x700e6fac
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov edx, ebx
call fcn.700e04f0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
lea eax, [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 0x18], edi
mov dword [esp], eax
mov eax, ebp
call fcn.700e2170
mov eax, dword [ebp + 0xe1e4]
imul dword [esp + 0xb4]
mov ecx, dword [ebp + 0xe1e0]
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], 0
xor ebx, ebx
mov edx, dword [esp + 0x2c]
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0xbc]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xb8]
shld edx, eax, cl
shl eax, cl
test cl, 0x20
cmovne edx, eax
cmovne eax, ebx
add dword [esp + 0x28], eax
adc dword [esp + 0x2c], edx
mov eax, dword [esp + 0x2c]
cmp eax, edi
jg 0x700e6784
jl 0x700e65f1
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x28], eax
jae 0x700e6784
mov eax, dword [esp + 0xa8]
cmp eax, dword [ebp + 0x156160]
jl 0x700e70c7
mov eax, dword [esp + 0xa4]
mov ebx, dword [0x7079f3f0]
mov edi, dword [ebp + 0x1f7db4]
add edi, dword [esp + 0x174]
lea esi, [ebp + eax + 0x1f7db8]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x74], 1
mov eax, dword [eax*4 + 0x7079f3c0]
sub dword [esp + 0x28], eax
mov ecx, eax
shl dword [esp + 0x74], cl
cmp eax, dword [ebx*4 + 0x7079f340]
mov dword [esp + 0x48], eax
je 0x700e6679
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079fef4
call fcn.6feeef40
mov edx, dword [esp + 0x48]
test edx, edx
js 0x700e7519
mov eax, dword [esp + 0x28]
test eax, eax
js 0x700e74f8
mov ecx, dword [esp + 0x74]
test ecx, ecx
jle 0x700e75cc
mov dword [esp + 0x74], ebp
xor edx, edx
xor ebx, ebx
xor eax, eax
mov ebp, ecx
lea esi, [esi]
movsx ecx, byte [edi + eax]
or ebx, ecx
movsx ecx, byte [esi + eax]
add eax, 1
or edx, ecx
cmp eax, ebp
jne 0x700e66b0
movzx ecx, byte [esp + 0x28]
mov eax, 1
mov ebp, dword [esp + 0x74]
shl eax, cl
xor ecx, ecx
test ebx, eax
setg cl
test edx, eax
setg al
movzx eax, al
lea eax, [ecx + eax*2]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0xb8]
mov edi, dword [esp + 0xbc]
mov ecx, dword [ebp + 0xe1e0]
lea eax, [eax + ebx*4]
shl eax, 4
mov ebx, dword [ebp + eax + 0x153824]
add ebx, dword [esp + 0xb4]
mov eax, ebx
imul dword [ebp + 0xe1e4]
mov dword [esp + 0xb4], ebx
mov dword [esp + 0x28], eax
add dword [esp + 0x28], 0x80
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], edx
adc dword [esp + 0x2c], 0
mov edx, dword [esp + 0x2c]
shrd eax, edx, 8
sar edx, 8
mov dword [esp + 0x28], eax
mov eax, esi
mov dword [esp + 0x2c], edx
mov edx, edi
shld edx, eax, cl
shl eax, cl
test cl, 0x20
je 0x700e675e
mov edx, eax
xor eax, eax
add dword [esp + 0x28], eax
adc dword [esp + 0x2c], edx
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x2c], eax
jg 0x700e6784
jl 0x700e6922
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x28], eax
jb 0x700e6922
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x120]
xor ebx, ebx
mov esi, dword [esp + 0x88]
lea edi, [esp + 0xf0]
mov dword [esp + 0x3c], ebp
mov ebp, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esi]
add esi, 0x3c
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
sar eax, cl
add eax, dword [edx + ebx*4 + 0x1f7d78]
add ebx, 1
mov edx, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov dword [esp], eax
shr edx, cl
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi - 0x38]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edi
sar eax, cl
add eax, dword [esp + 0x28]
shr edx, cl
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
add ebp, dword [esp + 0x24]
add dword [esp + 0x28], 0x10
add edi, dword [esp + 0x38]
cmp ebx, 3
jne 0x700e67ac
mov ebp, dword [esp + 0x3c]
lea edi, [esp + 0xc8]
mov ebx, dword [esp + 0x50]
mov eax, dword [ebp + 0x1f7db4]
add eax, dword [esp + 0x174]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
lea eax, [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x700e5e20
lea eax, [ebp + 0x10f32f]
jmp 0x700e6506
lea eax, [ebp + 0x10f32d]
jmp 0x700e6506
lea eax, [ebp + 0x10f32c]
jmp 0x700e5f30
lea eax, [ebp + 0x10f32c]
jmp 0x700e6506
mov dword [esp + 8], 0x6d3
mov dword [esp + 4], 0x7079fc68
mov dword [esp], str.tp_orig___tp
call fcn.6feeef40
jmp 0x700e63df
cmp dword [esp + 0x178], 6
je 0x700e7491
nop
jbe 0x700e75d5
cmp dword [esp + 0x178], 9
je 0x700e7742
cmp dword [esp + 0x178], 0xc
lea ecx, [ebp + 0x153a70]
jne 0x700e7770
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
jmp 0x700e5d04
cmp dword [esp + 0x178], 6
je 0x700e74b4
jbe 0x700e7610
cmp dword [esp + 0x178], 9
je 0x700e7759
cmp dword [esp + 0x178], 0xc
lea ecx, [ebp + 0x153a70]
jne 0x700e7793
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], edi
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], eax
jmp 0x700e6784
mov dword [esp + 8], 0xe6
mov dword [esp + 4], 0x7079fdec
mov dword [esp], 0x7079ff3c
call fcn.6feeef40
jmp 0x700e5972
mov eax, dword [ebp + 0x15cb94]
mov ecx, dword [esp + 0x174]
mov esi, dword [eax + 0x34]
lea ebx, [ecx*8]
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x48], ebx
mov dword [esp + 0xd0], esi
mov edi, dword [eax + 0x38]
mov dword [esp + 0xd4], edi
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x60], edi
mov edi, dword [eax + 0x10]
mov dword [esp + 0x70], edx
mov dword [esp + 0xd8], edx
lea edx, [ecx*8]
mov ecx, dword [ebp + 0xe070]
mov dword [esp + 0x28], edi
mov dword [esp + 0xe0], edi
mov edi, ebx
mov ebx, edx
mov eax, dword [eax + 0x24]
sar edi, cl
mov ecx, dword [ebp + 0xe074]
mov dword [esp + 0xe4], eax
sar ebx, cl
mov ecx, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xe8], eax
mov dword [ebp + 0xc028], eax
imul ecx, ebx
mov dword [ebp + 0xa008], ebx
mov ebx, dword [esp + 0x48]
add edi, ecx
mov ecx, dword [ebp + 0xe0ac]
add edi, esi
mov dword [ebp + 0xa004], edi
sar ebx, cl
mov ecx, dword [ebp + 0xe0b0]
mov esi, ebx
mov ebx, edx
sar ebx, cl
mov ecx, ebx
mov ebx, dword [esp + 0x48]
imul ecx, eax
add esi, ecx
mov ecx, dword [ebp + 0xe0e8]
add esi, dword [esp + 0x60]
sar ebx, cl
mov ecx, dword [ebp + 0xe0ec]
mov dword [ebp + 0xc024], esi
sar edx, cl
imul edx, eax
add ebx, edx
add ebx, dword [esp + 0x70]
mov dword [ebp + 0xe044], ebx
mov esi, dword [esp + 0x28]
lea ebx, [esp + 0xe0]
mov dword [ebp + 0xe048], eax
imul eax, dword [esp + 0x178], 0x2c
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x707a04a0
call dword [ebp + eax + 0x1f6f74]
mov edi, dword [esp + 0x178]
mov edx, 1
mov dword [esp + 0x70], 1
mov esi, dword [edi*4 + 0x7079f280]
lea ecx, [esi - 1]
shl edx, cl
mov ecx, esi
add eax, edx
mov edx, dword [ebp + 0x1f5eec]
shr eax, cl
cmp edx, eax
jbe 0x700e6b0e
shr edx, 1
cmp edx, eax
setbe al
movzx eax, al
mov dword [esp + 0x70], eax
mov dword [esp + 0x7c], 0
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x58]
call fcn.700e04f0
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x170]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0xc], eax
lea eax, [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, ebp
call fcn.700e2170
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0x7fffffff
cmp eax, 0x7fffffff
mov dword [esp + 0x8c], eax
je 0x700e6e40
cmp byte [esp + 0x90], 0
jne 0x700e6c26
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
movzx ecx, byte [ebp + 0xe1e0]
mov ebx, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x8c]
mov esi, edx
mov dword [esp + 0x64], edx
imul dword [ebp + 0xe1e4]
add eax, 0x80
adc edx, 0
xor edi, edi
shld esi, ebx, cl
shrd eax, edx, 8
shl ebx, cl
sar edx, 8
test cl, 0x20
cmovne esi, ebx
cmovne ebx, edi
mov ecx, ebx
add eax, ecx
adc edx, esi
cmp dword [esp + 0x34], edx
jg 0x700e6c08
jl 0x700e7190
cmp dword [esp + 0x30], eax
jbe 0x700e7190
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x30], eax
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x178]
mov esi, ecx
jmp 0x700e6df0
mov eax, dword [esp + 0xa4]
mov ebx, dword [0x7079f3f0]
mov esi, dword [ebp + 0x1f7db4]
add esi, dword [esp + 0x174]
lea edi, [ebp + eax + 0x1f7db8]
mov eax, dword [esp + 0x178]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x60], 1
mov eax, dword [eax*4 + 0x7079f3c0]
sub dword [esp + 0x28], eax
mov ecx, eax
shl dword [esp + 0x60], cl
cmp eax, dword [ebx*4 + 0x7079f340]
mov dword [esp + 0x48], eax
je 0x700e6c9b
mov dword [esp + 8], 0x150
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079fef4
call fcn.6feeef40
mov eax, dword [esp + 0x48]
test eax, eax
js 0x700e77d7
mov eax, dword [esp + 0x28]
test eax, eax
js 0x700e77b6
mov ecx, dword [esp + 0x60]
test ecx, ecx
jle 0x700e77f8
mov dword [esp + 0x60], ebp
xor edx, edx
xor ebx, ebx
xor eax, eax
mov ebp, ecx
nop
lea esi, [esi]
movsx ecx, byte [esi + eax]
or ebx, ecx
movsx ecx, byte [edi + eax]
add eax, 1
or edx, ecx
cmp eax, ebp
jne 0x700e6cd0
movzx ecx, byte [esp + 0x28]
mov eax, 1
mov ebp, dword [esp + 0x60]
shl eax, cl
xor ecx, ecx
test ebx, eax
setg cl
test edx, eax
setg al
movzx eax, al
lea eax, [ecx + eax*2]
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0xe4]
movzx ecx, byte [ebp + 0xe1e0]
lea eax, [eax + edi*4 + 0x14b82]
shl eax, 4
mov edi, edx
mov eax, dword [ebp + eax + 0x8000]
mov dword [esp + 0x64], edx
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xd0]
add dword [esp + 0x8c], eax
mov ebx, dword [esp + 0x8c]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xd0], ebx
mov esi, eax
mov dword [esp + 0x60], eax
mov eax, ebx
imul dword [ebp + 0xe1e4]
add eax, 0x80
adc edx, 0
xor ebx, ebx
shrd eax, edx, 8
shld edi, esi, cl
sar edx, 8
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebx
add eax, esi
adc edx, edi
cmp dword [esp + 0x34], edx
jl 0x700e7190
jg 0x700e6d9f
cmp dword [esp + 0x30], eax
jbe 0x700e7190
cmp dword [esp + 0x178], 6
je 0x700e783c
jbe 0x700e77ff
cmp dword [esp + 0x178], 9
je 0x700e78a6
cmp dword [esp + 0x178], 0xc
jne 0x700e7865
mov esi, dword [esp + 0x60]
lea ecx, [ebp + 0x153a70]
mov ebx, dword [esp + 0x64]
mov edi, dword [esp + 0x178]
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
mov dword [ecx], edi
mov eax, edi
mov edi, dword [esp + 0x178]
mov ecx, 8
xor edx, edx
mov eax, dword [eax*4 + 0x7079f4c0]
add eax, dword [edi*4 + 0x7079f480]
sub ecx, eax
mov eax, 0x800
shrd eax, edx, cl
sar edx, cl
mov edi, edx
sar edi, 0x1f
test cl, 0x20
cmovne eax, edx
cmovne edx, edi
cmp edx, ebx
jg 0x700e6e30
jl 0x700e6e40
cmp eax, esi
jbe 0x700e6e40
mov dword [esp + 0x70], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x120]
xor ebx, ebx
mov esi, dword [esp + 0x88]
lea edi, [esp + 0xf0]
mov dword [esp + 0x48], ebp
mov ebp, edx
mov dword [esp + 0x28], eax
mov ecx, dword [esi]
add esi, 0x3c
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
sar eax, cl
add eax, dword [edx + ebx*4 + 0x1f7d78]
add ebx, 1
mov edx, dword [esp + 0x24]
mov dword [esp + 4], ebp
mov dword [esp], eax
shr edx, cl
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
mov ecx, dword [esi - 0x38]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edi
sar eax, cl
add eax, dword [esp + 0x28]
shr edx, cl
mov dword [esp + 8], edx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
add ebp, dword [esp + 0x24]
add dword [esp + 0x28], 0x10
add edi, dword [esp + 0x38]
cmp ebx, 3
jne 0x700e6e68
mov ebp, dword [esp + 0x48]
lea edi, [esp + 0xc8]
mov ebx, dword [esp + 0x50]
mov eax, dword [ebp + 0x1f7db4]
add eax, dword [esp + 0x174]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
lea eax, [esp + 0xc0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
jmp 0x700e593d
mov eax, dword [esp + 0x178]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x54]
cmp eax, 0xc
mov dword [esp + 0xc], eax
sete al
movzx eax, al
mov dword [esp + 8], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x170]
mov dword [esp], eax
mov eax, ebp
call fcn.700e5020
jmp 0x700e6314
mov dword [esp + 8], 0xe6
mov dword [esp + 4], 0x7079fdec
mov dword [esp], 0x7079ff3c
call fcn.6feeef40
mov dword [esp + 8], 0x49
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor eax, eax
mov byte [eax], 0
mov esi, dword [ebp + 0x1f5ee4]
test esi, esi
je 0x700e6517
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x58]
call fcn.700e04f0
lea ecx, [eax + 0x250]
mov eax, dword [eax + 0x250]
mov dword [ebp + 0x11d360], eax
mov eax, dword [ecx + 4]
mov dword [ebp + 0x11d364], eax
mov eax, dword [ecx + 8]
mov dword [ebp + 0x11d368], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp + 0x11d36c], eax
jmp 0x700e6517
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x58]
call fcn.700e04f0
lea ecx, [eax + 0x250]
mov eax, dword [eax + 0x250]
mov dword [ebp + 0x11d360], eax
mov eax, dword [ecx + 4]
mov dword [ebp + 0x11d364], eax
mov eax, dword [ecx + 8]
mov dword [ebp + 0x11d368], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp + 0x11d36c], eax
jmp 0x700e5f41
mov dword [esp + 8], 0xe6
mov dword [esp + 4], 0x7079fdec
mov dword [esp], 0x7079ff3c
call fcn.6feeef40
mov dword [esp + 8], 0x49
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor eax, eax
jmp 0x700e5f30
lea ebx, [esp + 0xe0]
jmp 0x700e6b0e
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 6
mov dword [esp], eax
mov eax, ebp
call fcn.700e1b40
mov eax, dword [esp + 0x58]
mov dword [esp + 8], 6
mov dword [esp], ebp
mov dword [esp + 4], eax
call fcn.700f5bc0
mov dword [ebp + 0xe1e8], eax
jmp 0x700e578c
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov edx, edi
call fcn.700e04f0
mov ecx, edi
mov dword [esp], 0
mov edx, eax
mov eax, ebp
call fcn.700e0740
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edi
mov dword [esp], eax
mov eax, ebp
call fcn.700e2790
cmp edi, 0xc
ja case.default.0x700e7111
jmp dword [edi*4 + 0x707a00c4]
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov edx, edi
call fcn.700e04f0
mov ecx, edi
mov dword [esp], 0
mov edx, eax
mov eax, ebp
call fcn.700e0740
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edi
mov dword [esp], eax
mov eax, ebp
call fcn.700e2790
cmp edi, 0xc
ja case.default.0x700e7162
jmp dword [edi*4 + 0x707a00f8]
jl 0x700e634d
cmp dword [esp + 0x60], 0x7ffffffe
nop
jbe 0x700e634d
jmp 0x700e63f2
mov dword [esp + 0x60], 0xffffffff
mov dword [esp + 0x64], 0x7fffffff
mov dword [esp + 0x8c], 0x7fffffff
jmp 0x700e6e40
mov dword [esp + 8], 0x6d4
mov dword [esp + 4], 0x7079fc68
mov dword [esp], str.best_rate___INT_MAX
call fcn.6feeef40
jmp 0x700e63e7
movzx edx, byte [ebp + 0x10f32c]
movzx eax, byte [ebp + 0x10f32d]
lea eax, [eax + edx*4 + 0x52e88]
mov edx, dword [esp + 0x58]
lea eax, [edx + eax*4]
jmp 0x700e61d5
mov dword [esp + 8], 0x49
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor eax, eax
mov byte [eax], 1
mov esi, dword [ebp + 0x1f5ee4]
test esi, esi
jne 0x700e76c6
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov edx, ebx
sub esi, dword [esp + 0x28]
sbb edi, dword [esp + 0x2c]
call fcn.700e04f0
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
lea eax, [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, ebp
call fcn.700e2170
mov eax, dword [esp + 0xd0]
cmp eax, 0x7fffffff
je 0x700e61f0
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
add eax, dword [esp + 0xb4]
mov edx, ebx
mov ebx, dword [esp + 0xe0]
mov ecx, esi
mov esi, dword [esp + 0xe4]
mov dword [esp + 0xb4], eax
add edx, ebx
adc ecx, esi
mov esi, edx
mov dword [esp + 0xb8], edx
mov edi, ecx
imul dword [ebp + 0xe1e4]
mov dword [esp + 0xbc], ecx
mov ecx, dword [ebp + 0xe1e0]
add eax, 0x80
adc edx, 0
xor ebx, ebx
shrd eax, edx, 8
shld edi, esi, cl
sar edx, 8
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebx
add eax, esi
adc edx, edi
cmp dword [esp + 0x34], edx
jg 0x700e602e
jl 0x700e61f0
cmp dword [esp + 0x30], eax
ja 0x700e602e
jmp 0x700e61f0
mov dword [esp + 8], 0x49
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor eax, eax
mov byte [eax], 1
mov esi, dword [ebp + 0x1f5ee4]
test esi, esi
jne 0x700e7684
mov ebx, dword [esp + 0x3c]
mov eax, dword [esp + 0x58]
mov esi, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov edx, ebx
sub esi, dword [esp + 0x28]
sbb edi, dword [esp + 0x2c]
call fcn.700e04f0
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
lea eax, [esp + 0xe0]
mov dword [esp + 8], eax
lea eax, [esp + 0xd0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x174]
mov dword [esp], eax
mov eax, ebp
call fcn.700e2170
mov eax, dword [esp + 0xd0]
cmp eax, 0x7fffffff
je 0x700e6784
mov ebx, dword [esp + 0xb8]
mov esi, dword [esp + 0xbc]
add eax, dword [esp + 0xb4]
mov edx, ebx
mov ebx, dword [esp + 0xe0]
mov ecx, esi
mov esi, dword [esp + 0xe4]
mov dword [esp + 0xb4], eax
add edx, ebx
adc ecx, esi
mov esi, edx
mov dword [esp + 0xb8], edx
mov edi, ecx
imul dword [ebp + 0xe1e4]
mov dword [esp + 0xbc], ecx
mov ecx, dword [ebp + 0xe1e0]
add eax, 0x80
adc edx, 0
xor ebx, ebx
shrd eax, edx, 8
shld edi, esi, cl
sar edx, 8
shl esi, cl
test cl, 0x20
cmovne edi, esi
cmovne esi, ebx
add eax, esi
adc edx, edi
cmp edx, dword [esp + 0x34]
jl 0x700e6604
jg 0x700e6784
cmp eax, dword [esp + 0x30]
jb 0x700e6604
jmp 0x700e6784
lea eax, [ebp + 0x10f32d]
jmp 0x700e7344
lea eax, [ebp + 0x10f32d]
jmp 0x700e7210
lea eax, [ebp + 0x10f32e]
jmp 0x700e7210
lea eax, [ebp + 0x10f32f]
jmp 0x700e7210
lea eax, [ebp + 0x10f32c]
jmp 0x700e7210
movzx ecx, byte [ebp + 0x10f32c]
mov edx, ecx
movzx ecx, byte [ebp + 0x10f32d]
lea ecx, [ecx + edx*4 + 0x52e88]
mov edx, dword [esp + 0x58]
lea ecx, [edx + ecx*4]
jmp 0x700e68f8
movzx ecx, byte [ebp + 0x10f32c]
mov edx, ecx
movzx ecx, byte [ebp + 0x10f32d]
lea ecx, [ecx + edx*4 + 0x52e88]
mov edx, dword [esp + 0x58]
lea ecx, [edx + ecx*4]
jmp 0x700e6958
lea eax, [ebp + 0x10f32f]
jmp 0x700e7344
lea eax, [ebp + 0x10f32c]
jmp 0x700e7344
lea eax, [ebp + 0x10f32e]
jmp 0x700e7344
mov dword [esp + 8], 0x152
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff2f
call fcn.6feeef40
jmp 0x700e6691
mov dword [esp + 8], 0x151
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff26
call fcn.6feeef40
jmp 0x700e6685
mov dword [esp + 8], 0x152
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff2f
call fcn.6feeef40
jmp 0x700e60bb
mov dword [esp + 8], 0x151
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff26
call fcn.6feeef40
jmp 0x700e60af
mov dword [esp + 8], 0x152
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff2f
call fcn.6feeef40
jmp 0x700e5c16
mov dword [esp + 8], 0x151
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff26
call fcn.6feeef40
jmp 0x700e5c0a
xor eax, eax
jmp 0x700e6108
xor eax, eax
jmp 0x700e5c65
xor eax, eax
nop
jmp 0x700e66e5
cmp dword [esp + 0x178], 3
jne 0x700e7770
movzx ecx, byte [ebp + 0x10f32c]
mov edx, ecx
movzx ecx, byte [ebp + 0x10f32d]
lea edx, [ecx + edx*4]
movzx ecx, byte [ebp + 0x10f32e]
lea ecx, [ecx + edx*4 + 0x52e48]
mov edx, dword [esp + 0x58]
lea ecx, [edx + ecx*4]
jmp 0x700e68f8
cmp dword [esp + 0x178], 3
jne 0x700e7793
movzx ecx, byte [ebp + 0x10f32c]
mov edx, ecx
movzx ecx, byte [ebp + 0x10f32d]
lea edx, [ecx + edx*4]
movzx ecx, byte [ebp + 0x10f32e]
lea ecx, [ecx + edx*4 + 0x52e48]
mov edx, dword [esp + 0x58]
lea ecx, [edx + ecx*4]
jmp 0x700e6958
cmp dword [esp + 0x178], 3
jne 0x700e771f
movzx eax, byte [ebp + 0x10f32d]
movzx edx, byte [ebp + 0x10f32c]
lea edx, [eax + edx*4]
movzx eax, byte [ebp + 0x10f32e]
lea eax, [eax + edx*4 + 0x52e48]
mov edx, dword [esp + 0x58]
lea eax, [edx + eax*4]
jmp 0x700e61d5
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x58]
call fcn.700e04f0
lea ecx, [eax + 0x250]
mov eax, dword [eax + 0x250]
mov dword [ebp + 0x11d360], eax
mov eax, dword [ecx + 4]
mov dword [ebp + 0x11d364], eax
mov eax, dword [ecx + 8]
mov dword [ebp + 0x11d368], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp + 0x11d36c], eax
jmp 0x700e7355
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x58]
call fcn.700e04f0
lea ecx, [eax + 0x250]
mov eax, dword [eax + 0x250]
mov dword [ebp + 0x11d360], eax
mov eax, dword [ecx + 4]
mov dword [ebp + 0x11d364], eax
mov eax, dword [ecx + 8]
mov dword [ebp + 0x11d368], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp + 0x11d36c], eax
jmp 0x700e7221
movzx eax, byte [ebp + 0x10f32c]
mov edx, dword [esp + 0x58]
lea eax, [edx + eax*4 + 0x14ba60]
jmp 0x700e61d5
mov dword [esp + 8], 0x2da
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor eax, eax
jmp 0x700e61d5
movzx ecx, byte [ebp + 0x10f32c]
mov eax, dword [esp + 0x58]
lea ecx, [eax + ecx*4 + 0x14ba60]
jmp 0x700e68f8
movzx ecx, byte [ebp + 0x10f32c]
mov eax, dword [esp + 0x58]
lea ecx, [eax + ecx*4 + 0x14ba60]
jmp 0x700e6958
mov dword [esp + 8], 0x2da
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor ecx, ecx
jmp 0x700e68f8
mov dword [esp + 8], 0x2da
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
call fcn.6feeef40
xor ecx, ecx
jmp 0x700e6958
mov dword [esp + 8], 0x152
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff2f
call fcn.6feeef40
jmp 0x700e6cb3
mov dword [esp + 8], 0x151
mov dword [esp + 4], 0x7079fec0
mov dword [esp], 0x7079ff26
call fcn.6feeef40
jmp 0x700e6ca7
xor eax, eax
jmp 0x700e6d05
cmp dword [esp + 0x178], 3
jne 0x700e7865
movzx ecx, byte [ebp + 0x10f32d]
movzx ebx, byte [ebp + 0x10f32c]
mov esi, dword [esp + 0x60]
lea ebx, [ecx + ebx*4]
movzx ecx, byte [ebp + 0x10f32e]
lea ecx, [ecx + ebx*4 + 0x52e48]
mov ebx, dword [esp + 0x58]
lea ecx, [ebx + ecx*4]
mov ebx, dword [esp + 0x64]
jmp 0x700e6ddd
movzx ebx, byte [ebp + 0x10f32c]
movzx ecx, byte [ebp + 0x10f32d]
mov esi, dword [esp + 0x60]
lea ecx, [ecx + ebx*4 + 0x52e88]
mov ebx, dword [esp + 0x58]
lea ecx, [ebx + ecx*4]
mov ebx, dword [esp + 0x64]
jmp 0x700e6ddd
mov dword [esp + 8], 0x2da
mov dword [esp + 4], 0x7079fc68
mov dword [esp], 0x7079fc2f
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
call fcn.6feeef40
mov esi, dword [esp + 0xe0]
xor ecx, ecx
mov ebx, dword [esp + 0xe4]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
jmp 0x700e6ddd
mov ebx, dword [esp + 0x58]
movzx ecx, byte [ebp + 0x10f32c]
mov esi, dword [esp + 0x60]
lea ecx, [ebx + ecx*4 + 0x14ba60]
mov ebx, dword [esp + 0x64]
jmp 0x700e6ddd