Function at 0x6fd3c130
Capabilities:
Encode data using xor

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x15c
mov eax, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x170]
mov eax, dword [eax + 0x188]
mov edx, dword [edx]
cmp dword [esi + 0x3a534], 2
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x174]
mov eax, dword [eax + 0x3a568]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x170]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x174]
mov eax, dword [eax + 0x3a56c]
mov ebx, edx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0x40]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x170]
mov eax, dword [eax + 0x3a570]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x170]
mov eax, dword [eax + 0x3a574]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 0x44]
je 0x6fd3d2a0
lea ebx, [edx + edx]
mov edi, ecx
sub edi, ebx
lea ebx, [eax + eax]
sub ecx, ebx
mov dword [esp + 0x40], edi
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x4c]
add edx, 2
sar edx, 2
cmp ecx, edx
mov dword [esp + 0x98], ecx
jg 0x6fd3c20f
cmp edx, dword [esp + 0x58]
cmovg edx, dword [esp + 0x58]
mov dword [esp + 0x98], edx
mov ebx, dword [esp + 0x34]
add eax, 2
sar eax, 2
cmp ebx, eax
mov dword [esp + 0x94], ebx
jg 0x6fd3c234
cmp eax, dword [esp + 0x3c]
cmovg eax, dword [esp + 0x3c]
mov dword [esp + 0x94], eax
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x170]
mov eax, dword [edx + 0x38]
mov dword [esp + 4], 0x10
add ebx, 0x27d58
mov dword [esp + 0x68], ebx
mov dword [esp + 0xc], eax
imul eax, dword [esp + 0x94]
add eax, dword [esp + 0x98]
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
call dword [esi + ebx*4 + 4]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x98]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x38], 0x10000000
lea edi, [ebx + edi*8]
mov ebx, dword [esp + 0x60]
movsx ecx, word [edi]
mov dword [esp + 0x50], edi
lea ebp, [ebx + ebp*8]
movsx edx, word [ebp]
mov dword [esp + 0x5c], ebp
add edx, ecx
add eax, edx
cmp eax, 0x10000000
cmovge eax, dword [esp + 0x38]
sub eax, edx
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x17c]
test eax, eax
jle 0x6fd3dc38
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x94]
mov ebx, dword [esp + 0x178]
mov dword [esp + 0x54], edi
xor edi, edi
mov dword [esp + 0x48], esi
jmp 0x6fd3c319
cmp dword [esp + 0x54], ebp
jne 0x6fd3c356
add edi, 1
add ebx, 8
cmp edi, dword [esp + 0x17c]
je 0x6fd3c3d1
mov eax, dword [ebx]
mov ebp, dword [esp + 0x4c]
add eax, 2
sar eax, 2
cmp ebp, eax
jg 0x6fd3c334
mov ebp, dword [esp + 0x58]
cmp eax, dword [esp + 0x58]
cmovle ebp, eax
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x34]
add eax, 2
sar eax, 2
cmp esi, eax
jg 0x6fd3c350
mov esi, dword [esp + 0x3c]
cmp eax, dword [esp + 0x3c]
cmovle esi, eax
cmp dword [esp + 0x48], esi
je 0x6fd3c300
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x68]
mov eax, dword [edx + 0x38]
mov dword [esp + 4], 0x10
mov dword [esp + 0xc], eax
imul eax, esi
add eax, ebp
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x28]
mov edx, dword [esp + 0x170]
mov dword [esp], eax
call dword [edx + ecx*4 + 4]
mov ecx, dword [esp + 0x40]
movsx ecx, word [ecx + ebp*8]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x60]
movsx edx, word [ecx + esi*8]
add edx, dword [esp + 0x30]
add edx, eax
cmp edx, dword [esp + 0x38]
jge 0x6fd3c306
add edi, 1
add ebx, 8
cmp edi, dword [esp + 0x17c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], esi
mov dword [esp + 0x54], ebp
jne 0x6fd3c319
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x170]
mov eax, dword [edx + 0x38]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0x10
mov dword [esp + 0xc], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
call dword [edi + esi*4 + 4]
mov ebx, dword [esp + 0x40]
mov esi, dword [esp + 0x60]
movsx ecx, word [ebx]
movsx edx, word [esi]
add edx, ecx
add edx, eax
cmp edx, dword [esp + 0x38]
jge 0x6fd3c430
mov dword [esp + 0x38], edx
mov dword [esp + 0x48], 0
mov dword [esp + 0x54], 0
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x3c]
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x34]
add edi, 8
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0x170]
add ebp, 8
sub ebx, 8
sub esi, 8
mov dword [esp + 0x3c], ebp
mov eax, dword [edi + 0x3a534]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x78], esi
cmp eax, 1
je 0x6fd3cb10
jle 0x6fd3d88d
cmp eax, 2
je 0x6fd3c54b
cmp eax, 3
je 0x6fd3d2ee
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
shl esi, 2
movsx eax, word [ebx + esi*2]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x60]
shl edi, 2
mov dword [esp + 0x5c], edi
movsx edx, word [esi + edi*2]
add eax, edx
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x94]
cmp dword [esp + 0x48], edi
mov dword [edx + 0x50], ebx
mov dword [edx + 0x54], esi
mov dword [edx + 0x48], eax
jne 0x6fd3c4e8
mov ebp, dword [esp + 0x98]
cmp dword [esp + 0x54], ebp
je 0x6fd3caf7
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 0x174]
mov dword [edx + 0x4c], ebx
mov ecx, dword [esp + 0x170]
mov eax, dword [ecx + 0x3a538]
cmp eax, 1
jle 0x6fd3c540
mov edx, dword [esp + 0x180]
shl eax, 4
mov ecx, dword [eax + 0x7075e268]
mov dword [esp + 8], 0
mov dword [esp + 4], edx
mov edx, dword [eax + 0x7075e26c]
mov eax, dword [esp + 0x170]
mov dword [esp], edx
mov edx, dword [esp + 0x174]
call fcn.6fd3b100
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x174]
lea esi, [esp + 0x138]
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x58], esi
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x94]
add ebx, 0x27d84
mov dword [esp + 0x18], esi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x14], eax
imul edx, eax
add edx, dword [esp + 0x98]
add edx, dword [esp + 0x64]
lea ecx, [edx + 1]
mov dword [esp + 0x10], ecx
lea ecx, [edx - 1]
mov dword [esp + 0xc], ecx
lea ecx, [edx + eax]
sub edx, eax
mov dword [esp + 4], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebp, dword [esp + 0x94]
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x60]
mov edx, dword [esp + 0x50]
sub ebp, 1
mov esi, dword [esp + 0x98]
add edi, 1
movsx ecx, word [ebx + ebp*8]
movsx eax, word [edx]
movsx edx, word [ebx + edi*8]
sub esi, 1
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x44], esi
add ecx, eax
add edx, eax
mov eax, dword [esp + 0x40]
movsx ebx, word [ebx]
add ecx, dword [esp + 0x138]
add edx, dword [esp + 0x13c]
mov dword [esp + 0x5c], ebx
movsx ebx, word [eax + esi*8]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x40]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
add eax, ebx
mov ebx, dword [esp + 0x98]
add eax, dword [esp + 0x140]
add ebx, 1
movsx esi, word [esi + ebx*8]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x140], eax
add ebx, esi
mov esi, dword [esp + 0x144]
add ebx, esi
cmp dword [esp + 0x38], ecx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x144], ebx
jg 0x6fd3d583
mov ecx, dword [esp + 0x38]
mov ebp, dword [esp + 0x48]
cmp ecx, edx
jg 0x6fd3d596
mov edx, ecx
mov edi, ebp
cmp edx, eax
jg 0x6fd3d5a9
mov ebx, dword [esp + 0x54]
mov eax, edx
mov esi, dword [esp + 0x94]
mov dword [esp + 0x44], ebx
cmp eax, dword [esp + 0x7c]
mov dword [esp + 0x48], esi
jg 0x6fd3c6c1
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x34], edi
mov ebp, dword [esp + 0x94]
or ebp, dword [esp + 0x98]
jne 0x6fd3dc68
cmp dword [esp + 0x84], 6
je 0x6fd3dd5a
mov ebx, dword [esp + 0x48]
or ebx, dword [esp + 0x34]
je 0x6fd3dc53
mov esi, dword [esp + 0x94]
cmp dword [esp + 0x48], esi
jne 0x6fd3ddb4
mov edi, dword [esp + 0x98]
cmp dword [esp + 0x34], edi
jne 0x6fd3ddb4
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0x84]
mov eax, 0x7d0
mov ebp, dword [ebp*4 + 0x7075e140]
mov ecx, ebp
sar eax, cl
cmp eax, dword [esp + 0x7c]
mov dword [esp + 0x104], ebp
jg 0x6fd3df58
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
sub edx, dword [esp + 0x34]
sub eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x34]
cmp edx, eax
cmovle eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
sub edx, dword [esp + 0x48]
sub eax, dword [esp + 0x78]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x54], esi
cmp edx, eax
cmovle eax, edx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa4], 3
mov eax, dword [esp + 0x17c]
test eax, eax
je 0x6fd3c8df
cmp dword [esp + 0x17c], 1
je 0x6fd3fbdc
mov edi, dword [esp + 0x17c]
mov ebp, dword [esp + 0x84]
sub edi, 1
test ebp, ebp
mov dword [esp + 0x50], edi
je 0x6fd3fbcb
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x178]
mov esi, dword [esp + 0x17c]
mov ecx, dword [edx + 0x40]
sub ecx, dword [ebx]
mov dword [esp + 0x44], esi
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
mov eax, dword [edx + 0x44]
sub eax, dword [ebx + 4]
mov edx, eax
sar edx, 0x1f
xor eax, edx
sub eax, edx
add eax, ecx
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x50]
test edi, edi
jle 0x6fd3c854
mov ebp, dword [esp + 0x178]
xor ebx, ebx
mov edx, dword [ebp + 4]
mov eax, ebp
mov ecx, dword [ebp]
mov esi, dword [eax + 8]
add ebx, 1
mov edi, dword [eax + 0xc]
add eax, 8
sub ecx, esi
mov ebp, ecx
sub edx, edi
sar ebp, 0x1f
xor ecx, ebp
sub ecx, ebp
mov ebp, edx
sar ebp, 0x1f
xor edx, ebp
sub edx, ebp
add edx, ecx
mov ecx, esi
add dword [esp + 0x38], edx
mov edx, edi
cmp dword [esp + 0x50], ebx
jne 0x6fd3c822
mov eax, dword [esp + 0x38]
mov edx, eax
sar edx, 0x1f
idiv dword [esp + 0x44]
mov ebx, eax
mov esi, dword [esp + 0x84]
mov eax, 0x3e8
xor edx, edx
mov ecx, dword [esi*4 + 0x7075e140]
sar eax, cl
cmp dword [esp + 0x6c], eax
jl 0x6fd3c8a2
mov eax, 0x7d0
mov dl, 1
sar eax, cl
cmp dword [esp + 0x6c], eax
jl 0x6fd3c8a2
mov eax, 0xfa0
xor edx, edx
sar eax, cl
cmp dword [esp + 0x6c], eax
setge dl
add edx, 2
xor eax, eax
cmp ebx, 9
jle 0x6fd3c8bb
cmp ebx, 0x13
mov al, 1
jle 0x6fd3c8bb
xor eax, eax
cmp ebx, 0x27
setg al
add eax, 2
lea eax, [edx + eax*4]
mov eax, dword [eax*4 + 0x7075e160]
imul eax, dword [esp + 0x80]
test eax, eax
lea edx, [eax + 3]
cmovs eax, edx
sar eax, 2
mov dword [esp + 0x80], eax
mov ebp, dword [esp + 0x5c]
cmp dword [esp + 0x80], ebp
mov edi, dword [esp + 0xa4]
jg 0x6fd3e4ee
mov ebx, dword [esp + 0x80]
sub ebx, 2
cmp edi, ebx
mov dword [esp + 0x90], ebx
jge 0x6fd3e4ee
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x48]
mov ebp, dword [esp + 0xa4]
lea esi, [edi + esi*8]
mov edi, dword [esp + 0x34]
mov dword [esp + 0xa0], esi
mov esi, 0xfffffffe
sub esi, dword [esp + 0xa4]
add edi, 2
mov dword [esp + 0x8c], edi
mov edi, ebp
jmp 0x6fd3c99e
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x54]
cmp ecx, edx
mov dword [esp + 0x38], ebp
jg 0x6fd3cabe
mov edx, ecx
mov ecx, dword [esp + 0x38]
cmp edx, eax
mov dword [esp + 0x44], ecx
jg 0x6fd3cace
mov eax, edx
mov edx, dword [esp + 0x44]
cmp eax, ebx
mov dword [esp + 0x50], edx
jg 0x6fd3cade
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x54], ebx
add edi, 4
sub esi, 4
cmp edi, dword [esp + 0x90]
jge 0x6fd3e4cf
mov ebp, dword [esp + 0x174]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x58]
mov edx, dword [ebp + 0x38]
mov dword [esp + 0x18], ebx
imul eax, edx
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 0x14], edx
lea edx, [eax + esi]
mov dword [esp + 0x10], edx
lea edx, [eax + edi + 2]
mov dword [esp + 0xc], edx
lea edx, [eax + esi + 2]
add eax, edi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x28]
mov ebp, dword [esp + 0x88]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebp*4 + 0xc]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0xa0]
add ebx, edi
movsx ecx, word [eax + ebx*8]
add edx, esi
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x8c]
movsx ebp, word [ebp]
mov dword [esp + 0x44], edx
movsx edx, word [eax + edx*8]
add ebx, edi
mov dword [esp + 0xa8], ebp
add ecx, ebp
add edx, ebp
movsx ebp, word [eax + ebx*8]
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x40]
add ecx, dword [esp + 0x138]
add edx, dword [esp + 0x13c]
add eax, ebp
mov ebp, dword [esp + 0x34]
add eax, dword [esp + 0x140]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
add ebp, esi
movsx ebx, word [ebx + ebp*8]
mov dword [esp + 0x140], eax
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0xa8]
add ebx, dword [esp + 0x74]
add ebx, dword [esp + 0x144]
cmp ecx, dword [esp + 0x6c]
mov dword [esp + 0x144], ebx
jge 0x6fd3c947
mov ebp, dword [esp + 0x48]
cmp ecx, edx
mov dword [esp + 0x70], ebp
jle 0x6fd3c95b
mov ebp, dword [esp + 0x48]
cmp edx, eax
mov dword [esp + 0x70], ebp
jle 0x6fd3c96d
mov ecx, dword [esp + 0x48]
cmp eax, ebx
mov dword [esp + 0x70], ecx
jle 0x6fd3c97f
mov dword [esp + 0x6c], ebx
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x70], ebx
jmp 0x6fd3c98b
mov edx, dword [esp + 0x174]
add eax, dword [esp + 0x38]
mov dword [edx + 0x4c], eax
jmp 0x6fd3c4f6
mov ebp, dword [esp + 0x84]
lea ebx, [esp + 0x138]
mov dword [esp + 0x58], ebx
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x54]
add ebp, 0x27d84
mov dword [esp + 0x88], ebp
mov ecx, dword [esp + 0x174]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x84]
mov dword [esp + 0x68], ebx
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x14], edi
add esi, 0x27d7c
mov dword [esp + 0x5c], esi
imul eax, edx
lea ecx, [edx + edx]
mov dword [esp + 0x10], edx
add eax, ebx
add eax, dword [esp + 0x64]
lea edx, [eax + ecx + 1]
mov dword [esp + 0xc], edx
lea edx, [eax + ecx - 1]
sub eax, 2
mov dword [esp + 8], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + esi*4 + 0x10]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x60]
shl ebx, 2
shl esi, 3
add edi, esi
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x40]
movsx eax, word [edi]
movsx edx, word [esi + ebx*8 - 0x10]
sub ebx, 1
mov dword [esp + 0x30], ebx
mov ebp, dword [esp + 0x30]
shl ebx, 2
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x48]
add eax, edx
shl ebp, 3
add esi, ebp
mov dword [esp + 0x44], esi
mov esi, dword [esp + 0x60]
add dword [esp + 0x138], eax
mov dword [esp + 0x6c], ebp
mov ebp, dword [esp + 0x44]
movsx eax, word [esi + ebx*8 + 0x10]
mov ebx, dword [esp + 0x54]
movsx edx, word [ebp]
add ebx, 1
mov dword [esp + 0x7c], ebx
shl ebx, 2
mov esi, dword [esp + 0x7c]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x40]
add edx, eax
add dword [esp + 0x13c], edx
shl esi, 3
add ebx, esi
movsx edx, word [ebx]
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x174]
mov dword [esp + 0x4c], ebx
lea ebx, [esp + 0x144]
add eax, edx
mov edx, dword [esi + 0x38]
add dword [esp + 0x140], eax
mov eax, dword [esp + 0x48]
mov ecx, edx
neg ecx
imul eax, edx
add ecx, ecx
add eax, dword [esp + 0x54]
add eax, dword [esp + 0x64]
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x10], edx
lea edx, [eax + ecx - 1]
mov dword [esp + 0xc], edx
lea edx, [eax + ecx + 1]
add eax, 2
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebp*4 + 0x10]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
movsx eax, word [edi]
mov ebp, dword [esp + 0x4c]
movsx edx, word [esi + ebx*8 + 0x10]
mov ebx, dword [esp + 0x48]
mov esi, dword [esp + 0x60]
movsx ecx, word [ebp]
add edx, eax
mov ebp, dword [esp + 0x14c]
add edx, dword [esp + 0x144]
movsx eax, word [esi + ebx*8 - 0x10]
mov esi, dword [esp + 0x44]
mov dword [esp + 0x144], edx
add ecx, eax
movsx ebx, word [esi]
add ecx, dword [esp + 0x148]
add ebx, eax
xor eax, eax
add ebx, ebp
mov dword [esp + 0x34], ebx
mov dword [esp + 0x14c], ebx
mov ebx, dword [esp + 0x138]
cmp dword [esp + 0x38], ebx
mov dword [esp + 0x148], ecx
jg 0x6fd3cd19
mov ebx, dword [esp + 0x38]
mov eax, 0xfffffffe
mov esi, dword [esp + 0x13c]
cmp ebx, esi
jg 0x6fd3d579
mov esi, ebx
mov ebx, dword [esp + 0x140]
cmp esi, ebx
jg 0x6fd3d56f
mov ebx, esi
cmp ebx, edx
jg 0x6fd3d565
mov edx, ebx
cmp edx, ecx
jle 0x6fd3cf56
cmp ecx, dword [esp + 0x34]
jle 0x6fd3d5b7
mov ecx, 6
mov eax, 5
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0x48]
add ebx, dword [ecx*8 + 0x7075e0e4]
mov ebp, dword [esp + 0x54]
shr edx, 0x1f
add edx, dword [esp + 0x80]
add ebp, dword [ecx*8 + 0x7075e0e0]
mov dword [esp + 0x38], ebx
lea ebx, [eax + 1]
sar edx, 1
cmp edx, 1
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], 1
jg 0x6fd3cde8
jmp 0x6fd3fc33
mov edx, dword [esp + 0x34]
cmp edx, ecx
cmovle ebx, edi
cmovg edx, ecx
cmp ebx, 0xfffffffe
mov dword [esp + 0x34], edx
je 0x6fd3db54
add ebx, 1
mov edi, dword [esp + 0x50]
mov esi, dword [ebx*8 + 0x7075e0e4]
add dword [esp + 0x4c], 1
add ebp, dword [ebx*8 + 0x7075e0e0]
add dword [esp + 0x38], esi
cmp dword [esp + 0x4c], edi
je 0x6fd3dbbe
mov esi, dword [ebx*4 + 0x7075e120]
mov edx, dword [esp + 0x174]
mov dword [esp + 0x68], ebp
lea ecx, [esi + 2]
mov ebx, dword [ecx*8 + 0x7075e0e0]
mov ecx, dword [ecx*8 + 0x7075e0e4]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x48], ebx
lea ebx, [esi + 1]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx*8 + 0x7075e0e4]
mov edi, dword [ebx*8 + 0x7075e0e0]
imul edx, eax
mov dword [esp + 0x10], eax
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x30], edi
mov edi, dword [esi*8 + 0x7075e0e0]
add edx, ebp
add edx, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x44], edi
mov edi, dword [esi*8 + 0x7075e0e4]
imul ecx, eax
add ecx, dword [esp + 0x48]
add ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x3c]
imul ecx, eax
imul eax, edi
add ecx, dword [esp + 0x30]
add eax, dword [esp + 0x44]
add ecx, edx
add eax, edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ecx*4 + 0x10]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x60]
add edi, dword [esp + 0x38]
add eax, ebp
movsx eax, word [edx + eax*8]
movsx edx, word [ecx + edi*8]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x3c]
add eax, edx
mov edx, dword [esp + 0x30]
add eax, dword [esp + 0x138]
add edx, ebp
movsx edx, word [edi + edx*8]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x138], eax
movsx ecx, word [edi + ecx*8]
mov edi, dword [esp + 0x40]
add edx, ecx
mov ecx, dword [esp + 0x48]
add edx, dword [esp + 0x13c]
add ecx, ebp
movsx ecx, word [edi + ecx*8]
mov edi, dword [esp + 0x38]
add edi, dword [esp + 0x54]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x60]
movsx edi, word [ecx + edi*8]
mov ecx, dword [esp + 0x30]
add ecx, edi
mov edi, 0xfffffffe
add ecx, dword [esp + 0x140]
cmp eax, dword [esp + 0x34]
mov dword [esp + 0x140], ecx
jge 0x6fd3cf45
lea edi, [esi - 1]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x34], edx
jle 0x6fd3cda7
mov edi, esi
jmp 0x6fd3cdab
cmp edx, dword [esp + 0x34]
jg 0x6fd3cd57
cmp eax, 0xfffffffe
jne 0x6fd3d5be
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x14], eax
imul edx, eax
add edx, dword [esp + 0x68]
add edx, dword [esp + 0x64]
lea ecx, [edx + 1]
mov dword [esp + 0x10], ecx
lea ecx, [edx - 1]
mov dword [esp + 0xc], ecx
lea ecx, [edx + eax]
sub edx, eax
mov dword [esp + 4], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov esi, dword [esp + 0x38]
lea edx, [ebp*4]
mov ebx, dword [esp + 0x40]
lea ecx, [ebp*8]
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
movsx ecx, word [edi]
sub esi, 1
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x80], esi
mov edx, dword [esp + 0x80]
shl esi, 2
movsx eax, word [ebx + ebp*8]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x9c], esi
shl edx, 3
mov dword [esp + 0x7c], edx
add ebx, edx
mov edx, dword [esp + 0x60]
movsx esi, word [ebx]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x38]
add esi, eax
add ebx, 1
mov dword [esp + 0x48], ebx
shl ebx, 2
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x48]
add esi, dword [esp + 0x138]
shl ebx, 3
add edx, ebx
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x90], edx
movsx edx, word [edx]
mov dword [esp + 0x138], esi
add edx, eax
movsx eax, word [ebx]
movsx ebx, word [edi]
add edx, dword [esp + 0x13c]
add eax, ecx
lea edi, [ecx + ebx]
add eax, dword [esp + 0x140]
add edi, dword [esp + 0x144]
cmp dword [esp + 0x34], esi
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x144], edi
jle 0x6fd3d875
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0xa8], esi
cmp dword [esp + 0x34], edx
jg 0x6fd3d85d
mov edx, dword [esp + 0x34]
cmp edx, eax
jg 0x6fd3d828
mov eax, edx
cmp eax, edi
jg 0x6fd3d7fe
mov dword [esp + 0x3c], ecx
mov edi, eax
mov dword [esp + 0x78], ebx
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x14], eax
imul edx, eax
add edx, dword [esp + 0x68]
add edx, dword [esp + 0x64]
lea ecx, [edx + eax + 1]
mov dword [esp + 0x10], ecx
mov ecx, edx
sub ecx, eax
add ecx, 1
mov dword [esp + 0xc], ecx
lea ecx, [edx + eax - 1]
not eax
add eax, edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x8c]
movsx esi, word [eax]
mov eax, dword [esp + 0x4c]
movsx ecx, word [edx]
movsx edx, word [ebx]
movsx eax, word [eax]
lea ebx, [ecx + edx]
add ecx, esi
add ebx, dword [esp + 0x138]
add edx, eax
mov dword [esp + 0x34], eax
add eax, esi
mov esi, dword [esp + 0x144]
add ecx, dword [esp + 0x13c]
add edx, dword [esp + 0x140]
mov dword [esp + 0x138], ebx
add esi, eax
cmp edi, ebx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x144], esi
jg 0x6fd3d7bb
mov ebx, edi
cmp ebx, ecx
jg 0x6fd3d7a3
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x30], ebp
mov dword [esp + 0x74], ecx
mov ecx, ebx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x84], edi
cmp ecx, edx
jg 0x6fd3d78b
mov esi, dword [esp + 0x74]
mov edx, ecx
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x6c]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x80], ecx
cmp edx, dword [esp + 0x38]
jg 0x6fd3c4b2
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x38], edx
movsx eax, word [ebx + edi]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x80]
mov dword [esp + 0x5c], ebp
movsx ecx, word [edi + esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x48], ebx
add eax, ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ecx
jmp 0x6fd3c4b2
mov ebp, esi
mov esi, dword [esi + 0x3a560]
mov ebx, dword [ebp + 0x3a558]
cmp edx, ebx
jl 0x6fd3d2b9
cmp esi, edx
mov ebx, edx
cmovle ebx, esi
mov edi, dword [esp + 0x170]
add ebx, ebx
mov esi, ecx
sub esi, ebx
mov dword [esp + 0x40], esi
mov ebx, dword [edi + 0x3a55c]
mov esi, dword [edi + 0x3a564]
cmp eax, ebx
jl 0x6fd3d2e1
cmp esi, eax
mov ebx, eax
cmovle ebx, esi
add ebx, ebx
sub ecx, ebx
mov dword [esp + 0x60], ecx
jmp 0x6fd3c1ea
mov eax, dword [esp + 0x54]
sub eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x4c]
cmovl eax, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
sub ebp, dword [esp + 0x80]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x54]
cmp ebp, dword [esp + 0x78]
cmovl ebp, dword [esp + 0x78]
add eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x30]
cmovg eax, dword [esp + 0x30]
mov edx, dword [esp + 0x174]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x48]
add eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x3c]
cmovg eax, dword [esp + 0x3c]
mov ebx, dword [edx + 0x38]
mov esi, dword [edi*8 + 0x7075e220]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xc], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 8], 0x70e9ca60
mov edi, ebx
mov dword [esp + 4], 0x10
imul edi, dword [eax*8 + 0x7075e224]
mov eax, dword [edx + 0x28]
mov edx, dword [esp + 0x68]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov ecx, dword [esp + 0x174]
mov edx, ebx
cmp ebp, dword [esp + 0x70]
not edx
mov dword [esp + 0x50], eax
mov eax, dword [ecx + 0x34]
lea edx, [eax + edx*2]
jg 0x6fd3dd87
lea eax, [esi + edi]
add esi, esi
add eax, eax
add edi, edi
mov dword [esp + 0x7c], esi
lea esi, [ebx + ebx]
imul ebx, ebp
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x4c]
sub dword [esp + 0x7c], ebp
lea eax, [eax + ebx*2]
add eax, edx
sub edi, ebp
mov ebp, eax
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], edi
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x6c], esi
jg 0x6fd3d521
mov ebx, dword [esp + 0x60]
xor esi, esi
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x78]
lea edi, [ebx + edi*8]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x5c], edi
mov edx, dword [esp + 0x5c]
add ecx, ebp
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x58], ecx
add ebx, ebp
movsx edx, word [edx]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x40]
mov ecx, ebp
mov edx, dword [esp + 0x38]
sub ecx, dword [esp + 0x4c]
lea ebx, [eax + edi*8]
movsx eax, word [ebx]
add eax, dword [esp + 0x34]
sub edx, eax
movzx eax, word [ebp + edi*2]
add ax, word [ecx + edi*2]
mov ecx, dword [esp + 0x58]
sub ax, word [ecx + edi*2]
mov ecx, dword [esp + 0x3c]
sub ax, word [ecx + edi*2]
movzx eax, ax
sub eax, dword [esp + 0x50]
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
cmp edx, eax
jle 0x6fd3d48f
cmp esi, 3
je 0x6fd3d5d0
mov dword [esp + esi*4 + 0x12c], edi
add esi, 1
add edi, 1
cmp dword [esp + 0x30], edi
jge 0x6fd3d435
test esi, esi
je 0x6fd3d521
mov dword [esp + 0x34], ebp
mov ebp, dword [esp + 0x174]
xor ebx, ebx
mov dword [esp + 0x3c], esi
mov eax, dword [ebp + 0x38]
mov edi, dword [esp + ebx*4 + 0x12c]
mov esi, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov edx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, dword [esp + 0x44]
add eax, edi
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call dword [edx + esi*4 + 4]
mov esi, dword [esp + 0x40]
movsx ecx, word [esi + edi*8]
mov esi, dword [esp + 0x5c]
movsx edx, word [esi]
add edx, ecx
add edx, eax
cmp edx, dword [esp + 0x38]
jge 0x6fd3d514
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], edx
add ebx, 1
cmp ebx, dword [esp + 0x3c]
jne 0x6fd3d4b1
mov ebp, dword [esp + 0x34]
add dword [esp + 0x44], 1
mov ecx, dword [esp + 0x44]
add ebp, dword [esp + 0x74]
cmp dword [esp + 0x70], ecx
jge 0x6fd3d3f3
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
shl ebx, 2
movsx eax, word [edi + ebx*2]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x60]
shl esi, 2
mov dword [esp + 0x5c], esi
movsx edx, word [ebx + esi*2]
add eax, edx
jmp 0x6fd3c4b2
mov eax, 3
jmp 0x6fd3cd45
mov eax, 2
jmp 0x6fd3cd3b
mov eax, 1
jmp 0x6fd3cd2a
mov ebx, dword [esp + 0x98]
cmp ecx, edx
mov dword [esp + 0x54], ebx
jle 0x6fd3c68a
mov esi, dword [esp + 0x98]
cmp edx, eax
mov dword [esp + 0x54], esi
jle 0x6fd3c696
mov edi, dword [esp + 0x94]
mov esi, edi
jmp 0x6fd3c6a7
mov edx, ecx
mov eax, 4
lea ecx, [eax + 1]
mov dword [esp + 0x34], edx
jmp 0x6fd3cd61
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x44]
mov esi, dword [esp + 0x134]
mov ecx, dword [edx + 0x38]
mov edx, dword [esp + 0x130]
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x12c]
imul eax, ecx
mov dword [esp + 0x8c], edx
lea edx, [esp + 0x138]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ecx
lea edx, [eax + edi]
add edx, dword [esp + 0x64]
mov dword [esp + 0x88], esi
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x80]
add edx, eax
add edx, dword [esp + 0x64]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x8c]
add edx, eax
add eax, esi
mov esi, dword [esp + 0x84]
add edx, dword [esp + 0x64]
add eax, dword [esp + 0x64]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + esi*4 + 0x9f61c]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x12c]
mov edx, dword [esp + 0x5c]
movsx ebx, word [ebx]
movsx ecx, word [esi + eax*8]
movsx edx, word [edx]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], edx
add ecx, edx
mov edx, dword [esp + 0x130]
add ecx, dword [esp + 0x138]
add ebx, dword [esp + 0x34]
add ebx, dword [esp + 0x144]
movsx edx, word [esi + edx*8]
mov esi, dword [esp + 0x134]
add edx, dword [esp + 0x34]
add edx, dword [esp + 0x13c]
mov dword [esp + 0x138], ecx
movsx esi, word [eax + esi*8]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x144], ebx
add eax, esi
add eax, dword [esp + 0x140]
cmp ecx, dword [esp + 0x38]
mov dword [esp + 0x140], eax
jl 0x6fd3d750
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x54]
cmp ecx, edx
mov dword [esp + 0x88], esi
jg 0x6fd3d75c
mov edx, ecx
mov ecx, dword [esp + 0x88]
cmp edx, eax
mov dword [esp + 0x8c], ecx
jg 0x6fd3d768
mov eax, edx
mov edx, dword [esp + 0x8c]
cmp eax, ebx
mov dword [esp + 0x80], edx
jg 0x6fd3d774
mov ebx, dword [esp + 0x80]
xor esi, esi
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], ebx
jmp 0x6fd3d48f
mov esi, dword [esp + 0x44]
cmp ecx, edx
mov dword [esp + 0x48], esi
jle 0x6fd3d70b
mov esi, dword [esp + 0x44]
cmp edx, eax
mov dword [esp + 0x48], esi
jle 0x6fd3d71f
mov ecx, dword [esp + 0x44]
cmp eax, ebx
mov dword [esp + 0x48], ecx
jle 0x6fd3d733
mov esi, dword [esp + 0x44]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], edi
mov dword [esp + 0x48], esi
xor esi, esi
jmp 0x6fd3d48f
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x30], esi
jmp 0x6fd3d24a
mov ebp, dword [esp + 0x5c]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x78], ebp
mov dword [esp + 0xa8], ebx
jmp 0x6fd3d217
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x9c]
mov esi, dword [esp + 0x6c]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x84]
mov dword [esp + 0x78], ebp
mov ebp, dword [esp + 0x80]
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa8], ebp
mov ebp, dword [esp + 0x30]
jmp 0x6fd3d1e8
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x38]
mov dword [esp + 0xa4], ebp
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa8], edx
jmp 0x6fd3d10a
mov ebp, dword [esp + 0x6c]
mov edx, dword [esp + 0x84]
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xa4], ebp
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xa0], edx
mov ebp, dword [esp + 0x30]
mov dword [esp + 0xa8], esi
jmp 0x6fd3d0f8
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0xa8], esi
jmp 0x6fd3d0ee
mov esi, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0xa8], esi
jmp 0x6fd3d0e0
test eax, eax
jne 0x6fd3c48a
mov esi, dword [esp + 0x84]
lea edi, [esp + 0x138]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x68], 0
mov dword [esp + 0x58], edi
add esi, 0x27d84
test eax, eax
mov dword [esp + 0x88], esi
jle 0x6fd3dd87
mov ebp, dword [esp + 0x54]
mov edi, dword [esp + 0x48]
jmp 0x6fd3d969
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x8c]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x4c], eax
mov eax, edx
cmp eax, esi
mov dword [esp + 0x30], ebx
mov dword [esp + 0x44], ecx
jg 0x6fd3db46
cmp dword [esp + 0x90], edi
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x4c]
sete dl
mov ecx, dword [esp + 0x84]
add esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x90]
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x54], esi
cmp dword [esp + 0x54], ebp
je 0x6fd3dc08
mov ebp, dword [esp + 0x80]
add dword [esp + 0x68], 1
cmp dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x54]
je 0x6fd3dc24
mov edx, dword [esp + 0x174]
lea esi, [edi - 1]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, edi
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
imul edx, eax
mov dword [esp + 0x14], eax
add edx, ebp
add edx, dword [esp + 0x64]
lea ecx, [edx + 1]
mov dword [esp + 0x10], ecx
lea ecx, [edx - 1]
mov dword [esp + 0xc], ecx
lea ecx, [edx + eax]
sub edx, eax
mov dword [esp + 4], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x40]
lea edx, [ebp*4]
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x48]
shl esi, 2
mov dword [esp + 0x7c], esi
lea esi, [edi + 1]
mov dword [esp + 0x90], esi
shl esi, 2
movsx ebx, word [ebx + edx*2]
shl eax, 3
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x84], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x90]
movsx ecx, word [ebx + edx*8]
movsx edx, word [ebx + esi*8]
shl eax, 3
mov ebx, dword [esp + 0x40]
lea esi, [edi*4]
mov dword [esp + 0x8c], eax
lea eax, [ebp - 1]
mov dword [esp + 0x3c], eax
shl eax, 2
mov dword [esp + 0x44], eax
movsx ebx, word [ebx + eax*2]
lea eax, [edi*8]
mov dword [esp + 0x5c], esi
add ecx, dword [esp + 0x34]
add edx, dword [esp + 0x34]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x60]
add ecx, dword [esp + 0x138]
add edx, dword [esp + 0x13c]
mov dword [esp + 0x30], eax
add ebx, eax
movsx esi, word [ebx]
mov dword [esp + 0x6c], ebx
lea ebx, [ebp + 1]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x54], ebx
shl ebx, 2
mov dword [esp + 0x50], ebx
add eax, esi
mov esi, dword [esp + 0x40]
add eax, dword [esp + 0x140]
movsx esi, word [esi + ebx*2]
mov dword [esp + 0x140], eax
mov dword [esp + 0x70], esi
mov esi, dword [esp + 0x9c]
add esi, dword [esp + 0x70]
add esi, dword [esp + 0x144]
cmp ecx, dword [esp + 0x38]
mov dword [esp + 0x144], esi
jl 0x6fd3dafd
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x48], edi
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], ebx
cmp ecx, edx
jg 0x6fd3db24
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x8c], edx
mov edx, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x90], ecx
cmp edx, eax
jle 0x6fd3d8d8
mov ebx, dword [esp + 0x5c]
cmp eax, esi
mov dword [esp + 0x90], edi
mov dword [esp + 0x84], ebx
jle 0x6fd3d901
mov dword [esp + 0x38], esi
mov edx, 1
jmp 0x6fd3d945
lea ebx, [ebp - 1]
mov edi, dword [esp + 0x40]
mov dword [esp + 0x30], ebx
mov esi, dword [esp + 0x30]
shl ebx, 2
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x84], ebx
shl esi, 3
add edi, esi
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x60]
shl edx, 3
shl eax, 2
mov dword [esp + 0x6c], esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x3c], edx
add edi, edx
lea ebx, [ebp + 1]
mov dword [esp + 0x54], ebx
shl ebx, 2
mov esi, dword [esp + 0x54]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x40]
shl esi, 3
add ebx, esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x4c], ebx
jmp 0x6fd3cf81
lea eax, [ebp - 1]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x30], eax
mov edx, dword [esp + 0x30]
shl eax, 2
mov dword [esp + 0x68], ebp
mov dword [esp + 0x84], eax
shl edx, 3
mov dword [esp + 0x6c], edx
add ebx, edx
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x44], ebx
shl edi, 3
mov dword [esp + 0x3c], edi
shl esi, 2
mov edi, dword [esp + 0x60]
mov dword [esp + 0x78], esi
add edi, dword [esp + 0x3c]
jmp 0x6fd3db96
test dl, dl
je 0x6fd3d94f
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x6c]
movsx eax, word [edi]
add eax, dword [esp + 0x70]
jmp 0x6fd3c4b2
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x48], edi
movsx eax, word [edx]
add eax, dword [esp + 0x70]
jmp 0x6fd3c4b2
mov ebx, dword [esp + 0x94]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x54], esi
jmp 0x6fd3c3d1
mov dword [esp + 0x48], 0
mov dword [esp + 0x34], 0
jmp 0x6fd3c713
mov edx, dword [esp + 0x174]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
sub esi, eax
add edx, 1
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 4], esi
mov dword [esp + 0x14], eax
sub edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x64]
add edx, eax
mov dword [esp + 8], edx
mov edx, dword [esp + 0x174]
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov esi, dword [esp + 0x60]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x40]
movsx ecx, word [esi - 8]
movsx eax, word [ebx]
movsx edx, word [esi + 8]
add ecx, eax
lea ebx, [eax + edx]
movsx eax, word [esi]
movsx edx, word [edi - 8]
add ecx, dword [esp + 0x138]
add ebx, dword [esp + 0x13c]
lea esi, [edx + eax]
movsx edx, word [edi + 8]
add esi, dword [esp + 0x140]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
add eax, edx
add eax, dword [esp + 0x144]
cmp dword [esp + 0x7c], ecx
mov dword [esp + 0x140], esi
mov dword [esp + 0x144], eax
jg 0x6fd3dd75
mov ecx, dword [esp + 0x7c]
cmp ecx, ebx
jg 0x6fd3fbb6
mov ebx, ecx
cmp ebx, esi
jg 0x6fd3fba1
mov esi, ebx
cmp esi, eax
jg 0x6fd3fb88
mov dword [esp + 0x7c], esi
jmp 0x6fd3c6d5
mov ebx, dword [esp + 0x7c]
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x54], esi
mov ebx, esi
jmp 0x6fd3cb37
mov dword [esp + 0x48], 0xffffffff
mov dword [esp + 0x34], 0
jmp 0x6fd3dd35
mov ebx, dword [esp + 0x54]
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x48]
shl ebx, 2
movsx edx, word [edi + ebx*2]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x60]
shl esi, 2
mov dword [esp + 0x5c], esi
movsx eax, word [ebx + esi*2]
add eax, edx
jmp 0x6fd3c4b2
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x58]
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
imul eax, ecx
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
lea edx, [eax + 1]
mov dword [esp + 0x10], edx
lea edx, [eax - 1]
mov dword [esp + 0xc], edx
lea edx, [eax + ecx]
sub eax, ecx
mov dword [esp + 8], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x34]
movsx edx, word [esi + ebx*8]
mov esi, dword [esp + 0x48]
sub edi, 1
mov ebx, dword [esp + 0x60]
sub ebp, 1
mov dword [esp + 0x44], ebp
add esi, 1
movsx eax, word [ebx + edi*8]
movsx ecx, word [ebx + esi*8]
add eax, edx
add ecx, edx
mov edx, dword [esp + 0x48]
add eax, dword [esp + 0x138]
add ecx, dword [esp + 0x13c]
movsx edx, word [ebx + edx*8]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x50], edx
movsx edx, word [ebx + ebp*8]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x34]
add ebx, edx
mov edx, dword [esp + 0x40]
add ebp, 1
mov dword [esp + 0x54], ebp
add ebx, dword [esp + 0x140]
movsx edx, word [edx + ebp*8]
mov ebp, dword [esp + 0x144]
add edx, dword [esp + 0x50]
mov dword [esp + 0x140], ebx
add edx, ebp
cmp dword [esp + 0x7c], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x144], edx
jg 0x6fd3dec5
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x48]
cmp eax, ecx
jg 0x6fd3decd
mov ecx, eax
mov esi, edi
cmp ecx, ebx
jg 0x6fd3fc77
mov edi, dword [esp + 0x34]
mov ebx, ecx
mov dword [esp + 0x44], edi
cmp ebx, dword [esp + 0x6c]
jg 0x6fd3def5
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x54], ebp
mov ebx, dword [esp + 0x6c]
cmp dword [esp + 0x7c], ebx
je 0x6fd407c2
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x54]
sub edx, dword [esp + 0x54]
sub eax, dword [esp + 0x4c]
mov esi, dword [esp + 0x54]
mov edi, dword [esp + 0x48]
cmp edx, eax
cmovle eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
sub edx, dword [esp + 0x48]
sub eax, dword [esp + 0x78]
mov dword [esp + 0x34], esi
mov dword [esp + 0x70], edi
cmp edx, eax
cmovle eax, edx
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa4], 1
jmp 0x6fd3c793
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x58]
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
imul eax, ecx
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
lea edx, [eax - 2]
mov dword [esp + 0x10], edx
mov edx, eax
sub edx, ecx
add edx, 1
mov dword [esp + 0xc], edx
mov edx, ecx
neg ecx
not edx
add edx, eax
mov dword [esp + 8], edx
mov edx, dword [esp + 0x174]
lea eax, [eax + ecx*2]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x40]
shl ebx, 2
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x48]
shl esi, 3
add edi, esi
mov dword [esp + 0xbc], esi
mov dword [esp + 0xcc], edi
mov edi, dword [esp + 0x60]
sub ebx, 2
mov ebp, dword [esp + 0xcc]
mov dword [esp + 0xb0], ebx
shl ebx, 2
mov esi, dword [esp + 0xb0]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x34]
movsx edx, word [ebp]
shl esi, 3
sub ebx, 1
add edi, esi
mov dword [esp + 0xa8], ebx
shl ebx, 2
movsx eax, word [edi]
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0xa8]
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x108], edi
mov edi, dword [esp + 0x40]
lea ecx, [edx + eax]
shl esi, 3
sub ebx, 1
add edi, esi
mov dword [esp + 0xa4], ebx
shl ebx, 2
mov dword [esp + 0xc4], esi
mov esi, dword [esp + 0xa4]
mov dword [esp + 0xd4], edi
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0xd4]
add ecx, dword [esp + 0x138]
shl esi, 3
add edi, esi
movsx eax, word [ebp]
mov dword [esp + 0x9c], esi
movsx esi, word [edi]
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x10c], edi
mov dword [esp + 0x138], ecx
lea ebx, [eax + esi]
add ebx, dword [esp + 0x13c]
mov dword [esp + 0x13c], ebx
mov edi, dword [esp + 0x34]
add edi, 1
mov dword [esp + 0xa0], edi
shl edi, 2
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0xe4], edi
mov edi, dword [esp + 0x40]
shl ebp, 3
add edi, ebp
mov dword [esp + 0xd8], ebp
mov ebp, dword [esp + 0x34]
movsx eax, word [edi]
mov dword [esp + 0xdc], edi
mov edi, dword [esp + 0x40]
sub ebp, 2
mov dword [esp + 0xb4], ebp
mov edx, dword [esp + 0xb4]
add esi, eax
shl ebp, 2
add esi, dword [esp + 0x140]
mov dword [esp + 0x110], ebp
mov ebp, dword [esp + 0x48]
shl edx, 3
add edi, edx
mov dword [esp + 0xec], edi
mov edi, dword [esp + 0x48]
shl ebp, 3
mov dword [esp + 0xe8], edx
mov dword [esp + 0x140], esi
shl edi, 2
mov dword [esp + 0xb8], edi
mov edi, dword [esp + 0x60]
add edi, ebp
mov dword [esp + 0xc0], edi
mov edi, dword [esp + 0xec]
movsx edx, word [edi]
mov edi, dword [esp + 0xc0]
movsx eax, word [edi]
lea edi, [edx + eax]
mov edx, dword [esp + 0xb0]
add edi, dword [esp + 0x144]
cmp ecx, dword [esp + 0x7c]
mov dword [esp + 0x144], edi
mov dword [esp + 0x70], edx
jl 0x6fd3e1b3
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x70], eax
cmp ecx, ebx
jg 0x6fd3fd52
mov ebx, ecx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0xbc]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x54], ecx
cmp ebx, esi
jg 0x6fd3fd29
mov esi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x9c], esi
mov esi, ebx
mov dword [esp + 0xc8], ecx
cmp esi, edi
jg 0x6fd3fcfa
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x48]
mov edi, esi
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov ecx, dword [edx + 0x38]
mov edx, dword [esp + 0x64]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
imul eax, ecx
add eax, dword [esp + 0x34]
mov dword [esp + 0x14], ecx
add edx, eax
lea eax, [edx + ecx*2]
mov dword [esp + 0x10], eax
lea eax, [edx + ecx + 1]
mov dword [esp + 0xc], eax
lea eax, [edx + ecx - 1]
mov dword [esp + 8], eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x174]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x34]
add ebx, 2
mov dword [esp + 0x8c], ebx
mov esi, ebx
mov edx, ebx
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0x40]
shl esi, 2
mov dword [esp + 0x114], esi
mov esi, dword [esp + 0xc0]
shl edx, 3
mov dword [esp + 0xf0], edx
add ebx, edx
movsx edx, word [ebx]
mov dword [esp + 0xf4], ebx
mov ebx, dword [esp + 0x48]
movsx eax, word [esi]
mov esi, dword [esp + 0x60]
add ebx, 1
lea ecx, [edx + eax]
mov dword [esp + 0xac], ebx
mov edx, dword [esp + 0xac]
shl ebx, 2
mov dword [esp + 0xf8], ebx
mov ebx, dword [esp + 0xd4]
add ecx, dword [esp + 0x138]
shl edx, 3
add esi, edx
movsx eax, word [ebx]
mov dword [esp + 0x118], esi
movsx esi, word [esi]
mov dword [esp + 0x138], ecx
lea ebx, [eax + esi]
mov eax, dword [esp + 0xdc]
add ebx, dword [esp + 0x13c]
movsx eax, word [eax]
mov dword [esp + 0x13c], ebx
add esi, eax
mov eax, dword [esp + 0x48]
add esi, dword [esp + 0x140]
add eax, 2
mov dword [esp + 0x90], eax
mov dword [esp + 0xd0], eax
shl eax, 2
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x140], esi
shl eax, 3
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x60]
add eax, dword [esp + 0xfc]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xcc]
movsx eax, word [eax]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x11c]
movsx eax, word [eax]
add eax, dword [esp + 0x6c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x144]
add dword [esp + 0x6c], eax
cmp edi, ecx
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x144], eax
jg 0x6fd3fce2
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0xe8]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0xf0], eax
mov dword [esp + 0x114], ecx
mov ecx, edi
cmp ecx, ebx
jg 0x6fd3fcb7
mov ebx, dword [esp + 0x114]
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xe0], ebx
mov ebx, ecx
mov dword [esp + 0xc4], eax
cmp ebx, esi
jg 0x6fd3fc9c
mov edx, ebp
mov eax, dword [esp + 0xc4]
mov esi, ebx
mov ebp, dword [esp + 0xb8]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xe4], ecx
cmp esi, dword [esp + 0x6c]
jg 0x6fd3fc80
mov dword [esp + 0xfc], edx
mov ebp, dword [esp + 0xf8]
mov edi, esi
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xbc], eax
mov dword [esp + 0x50], edx
cmp dword [esp + 0x38], edi
je 0x6fd4077c
mov edi, dword [esp + 0x6c]
cmp dword [esp + 0x7c], edi
je 0x6fd3fd91
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
sub edx, dword [esp + 0x34]
sub eax, dword [esp + 0x4c]
mov dword [esp + 0xa4], 3
cmp edx, eax
cmovle eax, edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x48]
sub edx, dword [esp + 0x48]
sub eax, dword [esp + 0x78]
cmp edx, eax
cmovle eax, edx
mov dword [esp + 0x9c], eax
jmp 0x6fd3c793
mov eax, dword [esp + 0x80]
sub eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa4]
sub eax, 3
and eax, 0xfffffffc
lea edi, [ebx + eax + 4]
cmp dword [esp + 0x80], edi
jle 0x6fd3e61d
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x60]
lea ebp, [ebx + esi*8]
mov esi, dword [esp + 0x34]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x38], ebp
mov ebp, dword [esp + 0x174]
add esi, edi
sub ebx, edi
jmp 0x6fd3e540
cmp dword [esp + 0x4c], ebx
jle 0x6fd3e5b2
add edi, 2
add esi, 2
sub ebx, 2
cmp dword [esp + 0x80], edi
jle 0x6fd3e61d
cmp dword [esp + 0x30], esi
jl 0x6fd3e520
mov eax, dword [ebp + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, dword [esp + 0x48]
add eax, esi
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
movsx edx, word [edx + esi*8]
mov dword [esp + 0x44], edx
movsx edx, word [ecx]
add edx, dword [esp + 0x44]
add edx, eax
cmp edx, dword [esp + 0x6c]
jge 0x6fd3e520
mov eax, dword [esp + 0x48]
cmp dword [esp + 0x4c], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x70], eax
jg 0x6fd3e52a
mov eax, dword [ebp + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, dword [esp + 0x48]
add eax, ebx
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
movsx edx, word [edx + ebx*8]
mov dword [esp + 0x44], edx
movsx edx, word [ecx]
add edx, dword [esp + 0x44]
add edx, eax
cmp dword [esp + 0x6c], edx
jle 0x6fd3e52a
mov eax, dword [esp + 0x48]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x70], eax
jmp 0x6fd3e52a
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x9c]
mov edi, dword [esp + 0xa4]
shr eax, 0x1f
add eax, dword [esp + 0x80]
sar eax, 1
cmp eax, ebx
mov dword [esp + 0x38], eax
jg 0x6fd3e876
sub eax, 2
cmp edi, eax
mov dword [esp + 0xa0], eax
jge 0x6fd3e876
mov edi, dword [esp + 0x40]
mov esi, dword [esp + 0x34]
mov ebp, dword [esp + 0xa4]
lea esi, [edi + esi*8]
mov edi, dword [esp + 0x48]
mov dword [esp + 0x9c], esi
mov esi, 0xfffffffe
sub esi, dword [esp + 0xa4]
add edi, 2
mov dword [esp + 0x90], edi
mov edi, esi
mov esi, ebp
jmp 0x6fd3e6ec
mov ecx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
cmp ecx, edx
mov dword [esp + 0x44], ebp
jg 0x6fd3e821
mov edx, ecx
mov ecx, dword [esp + 0x44]
cmp edx, eax
mov dword [esp + 0x50], ecx
jg 0x6fd3e831
mov eax, edx
mov edx, dword [esp + 0x50]
cmp eax, ebx
mov dword [esp + 0x5c], edx
jg 0x6fd3e841
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x70], eax
add esi, 4
sub edi, 4
cmp esi, dword [esp + 0xa0]
jge 0x6fd3e85a
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
mov ecx, eax
imul edx, eax
imul ecx, edi
add edx, dword [esp + 0x34]
add edx, dword [esp + 0x64]
mov dword [esp + 0x14], eax
add ecx, edx
mov dword [esp + 0x10], ecx
lea ecx, [esi + 2]
imul ecx, eax
add ecx, edx
mov dword [esp + 0xc], ecx
lea ecx, [edi + 2]
imul ecx, eax
imul eax, esi
add ecx, edx
add eax, edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x9c]
add ebx, esi
movsx ecx, word [eax + ebx*8]
movsx edx, word [edx]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xa8], edx
add ecx, edx
mov edx, dword [esp + 0x90]
add ebx, esi
movsx ebp, word [eax + ebx*8]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x48]
add edx, edi
mov dword [esp + 0x50], edx
movsx edx, word [eax + edx*8]
mov eax, dword [esp + 0xa8]
add ebx, edi
mov dword [esp + 0x74], ebx
add ecx, dword [esp + 0x138]
add eax, ebp
mov ebp, dword [esp + 0x60]
add edx, dword [esp + 0xa8]
add eax, dword [esp + 0x140]
add edx, dword [esp + 0x13c]
movsx ebp, word [ebp + ebx*8]
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
add ebx, ebp
add ebx, dword [esp + 0x144]
cmp ecx, dword [esp + 0x6c]
mov dword [esp + 0x144], ebx
jge 0x6fd3e695
mov ebp, dword [esp + 0x34]
cmp ecx, edx
mov dword [esp + 0x54], ebp
jle 0x6fd3e6a9
mov ebp, dword [esp + 0x34]
cmp edx, eax
mov dword [esp + 0x54], ebp
jle 0x6fd3e6bb
mov ebp, dword [esp + 0x34]
cmp eax, ebx
mov dword [esp + 0x54], ebp
jle 0x6fd3e6cd
mov dword [esp + 0x6c], ebx
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov dword [esp + 0x54], ebx
jmp 0x6fd3e6d9
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0xa4]
mov esi, dword [esp + 0xa4]
sub eax, 3
and eax, 0xfffffffc
lea edi, [esi + eax + 4]
cmp dword [esp + 0x38], edi
jle 0x6fd3e9ac
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x40]
lea ebp, [esi + ebx*8]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x174]
add esi, edi
sub ebx, edi
jmp 0x6fd3e8c1
cmp dword [esp + 0x78], ebx
jle 0x6fd3e933
add edi, 2
add esi, 2
sub ebx, 2
cmp dword [esp + 0x38], edi
jle 0x6fd3e9ac
cmp dword [esp + 0x3c], esi
jl 0x6fd3e8a4
mov eax, dword [ebp + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, esi
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
movsx edx, word [edx]
mov dword [esp + 0x44], edx
movsx edx, word [ecx + esi*8]
add edx, dword [esp + 0x44]
add edx, eax
cmp edx, dword [esp + 0x6c]
jge 0x6fd3e8a4
mov eax, dword [esp + 0x34]
cmp dword [esp + 0x78], ebx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], eax
jg 0x6fd3e8ae
mov eax, dword [ebp + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, ebx
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x60]
movsx edx, word [edx]
mov dword [esp + 0x44], edx
movsx edx, word [ecx + ebx*8]
add edx, dword [esp + 0x44]
add edx, eax
cmp dword [esp + 0x6c], edx
jle 0x6fd3e8ae
mov eax, dword [esp + 0x34]
add edi, 2
add esi, 2
mov dword [esp + 0x70], ebx
sub ebx, 2
cmp dword [esp + 0x38], edi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x54], eax
jg 0x6fd3e8c1
mov ebx, dword [esp + 0x6c]
cmp dword [esp + 0x7c], ebx
jne 0x6fd3f9f8
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x60]
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x70]
add esi, 1
mov dword [esp + 0x74], esi
lea edi, [edi + esi*8]
mov esi, dword [esp + 0x40]
lea ebp, [ebx + ebp*8]
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x9c], ebp
mov ebp, dword [esp + 0x70]
lea ebx, [esi + ebx*8]
mov esi, dword [esp + 0x70]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x54]
add esi, 1
lea edi, [edi + esi*8]
sub ebx, 1
mov dword [esp + 0x5c], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x70]
mov dword [esp + 0x8c], ebx
lea esi, [esi + ebx*8]
mov ebx, dword [esp + 0x60]
sub edi, 1
mov dword [esp + 0x50], edi
mov dword [esp + 0xa0], esi
lea ebx, [ebx + edi*8]
mov edi, dword [esp + 0x54]
mov dword [esp + 0xa4], ebx
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x14], eax
imul edx, eax
add edx, dword [esp + 0x54]
add edx, dword [esp + 0x64]
mov ecx, edx
sub ecx, eax
add ecx, 1
mov dword [esp + 0x10], ecx
mov ecx, eax
not ecx
add ecx, edx
mov dword [esp + 0xc], ecx
lea ecx, [edx + eax - 1]
lea eax, [edx + eax + 1]
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov edx, dword [esp + 0x90]
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0xa0]
movsx ecx, word [edx]
movsx edx, word [ebx]
movsx esi, word [esi]
mov ebx, dword [esp + 0xa4]
lea eax, [ecx + edx]
mov dword [esp + 0x38], esi
add esi, edx
movsx edx, word [ebx]
mov ebx, dword [esp + 0x38]
add eax, dword [esp + 0x138]
add esi, dword [esp + 0x13c]
add ebx, edx
add edx, ecx
mov ecx, dword [esp + 0x144]
add ebx, dword [esp + 0x140]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], esi
add edx, ecx
cmp dword [esp + 0x7c], eax
mov dword [esp + 0x140], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x144], edx
jg 0x6fd3f9eb
mov eax, dword [esp + 0x7c]
cmp eax, esi
jg 0x6fd3f9db
mov esi, eax
cmp esi, ebx
jg 0x6fd3f9cb
mov ebx, esi
cmp ebx, dword [esp + 0x38]
jg 0x6fd3f9be
mov dword [esp + 0x38], ebx
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x14], eax
imul edx, eax
add edx, dword [esp + 0x54]
add edx, dword [esp + 0x64]
lea ecx, [edx + eax*2 + 2]
mov dword [esp + 0x10], ecx
lea ecx, [edx + eax + 2]
mov dword [esp + 0xc], ecx
lea ecx, [edx + 2]
sub edx, eax
lea eax, [edx + 2]
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
mov edx, dword [esp + 0xa4]
add ebx, 2
lea esi, [esi + ebx*8]
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x9c]
movsx eax, word [esi]
movsx ecx, word [edx]
mov dword [esp + 0xa8], esi
mov esi, dword [esp + 0x34]
movsx edx, word [ebx]
mov ebx, eax
mov dword [esp + 0x48], eax
add ecx, eax
add ecx, dword [esp + 0x138]
add ebx, edx
movsx edx, word [esi]
mov esi, eax
mov eax, dword [esp + 0x70]
add ebx, dword [esp + 0x13c]
mov dword [esp + 0x138], ecx
add esi, edx
mov edx, dword [esp + 0x60]
add eax, 2
mov dword [esp + 0x7c], eax
add esi, dword [esp + 0x140]
lea edx, [edx + eax*8]
mov eax, dword [esp + 0x144]
mov dword [esp + 0x6c], edx
movsx edx, word [edx]
add edx, dword [esp + 0x48]
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], esi
add edx, eax
cmp dword [esp + 0x38], ecx
mov dword [esp + 0x48], edx
mov dword [esp + 0x144], edx
jg 0x6fd3f9b1
mov ecx, dword [esp + 0x38]
cmp ecx, ebx
jg 0x6fd3f9a4
mov ebx, ecx
cmp ebx, esi
jg 0x6fd3f997
mov esi, ebx
cmp esi, dword [esp + 0x48]
jg 0x6fd3f98a
mov dword [esp + 0x48], esi
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov ecx, dword [edx + 0x38]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
lea eax, [ecx + ecx]
imul edx, ecx
add edx, dword [esp + 0x54]
add edx, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
lea ecx, [edx + eax - 2]
mov dword [esp + 0x10], ecx
lea ecx, [edx + eax - 1]
mov dword [esp + 0xc], ecx
lea ecx, [edx + eax]
lea eax, [edx + eax + 1]
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xa0]
movsx edx, word [edx]
movsx ecx, word [ebx]
mov dword [esp + 0x38], edx
mov ebx, dword [esp + 0x38]
add ecx, edx
movsx edx, word [esi]
mov esi, dword [esp + 0x38]
add ecx, dword [esp + 0x138]
add ebx, edx
movsx edx, word [eax]
mov eax, dword [esp + 0x40]
add ebx, dword [esp + 0x13c]
mov dword [esp + 0x138], ecx
add esi, edx
mov edx, dword [esp + 0x54]
add esi, dword [esp + 0x140]
mov dword [esp + 0x13c], ebx
sub edx, 2
lea eax, [eax + edx*8]
mov dword [esp + 0x6c], edx
movsx edx, word [eax]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x144]
add edx, dword [esp + 0x38]
mov dword [esp + 0x140], esi
add edx, eax
cmp dword [esp + 0x48], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x144], edx
jg 0x6fd3f97d
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
jg 0x6fd3f970
mov ebx, ecx
cmp ebx, esi
jg 0x6fd3f960
mov esi, ebx
cmp esi, dword [esp + 0x38]
jg 0x6fd3f957
mov dword [esp + 0x38], esi
mov dword [esp + 0x7c], ebp
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
mov ecx, eax
imul edx, eax
neg ecx
add edx, dword [esp + 0x54]
add edx, dword [esp + 0x64]
mov dword [esp + 0x14], eax
lea ecx, [edx + ecx*2 - 2]
mov dword [esp + 0x10], ecx
mov ecx, edx
sub ecx, eax
sub ecx, 2
mov dword [esp + 0xc], ecx
lea eax, [edx + eax - 2]
lea ecx, [edx - 2]
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov edx, dword [esp + 0xb0]
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0xa4]
movsx eax, word [edx]
movsx edx, word [esi]
movsx ecx, word [ebx]
lea ebx, [eax + edx]
movsx edx, word [ebp]
mov ebp, dword [esp + 0x70]
add ecx, eax
add ebx, dword [esp + 0x13c]
add ecx, dword [esp + 0x138]
lea esi, [eax + edx]
mov edx, dword [esp + 0x60]
sub ebp, 2
add esi, dword [esp + 0x140]
mov dword [esp + 0x34], ebp
lea edx, [edx + ebp*8]
mov dword [esp + 0x48], edx
movsx edx, word [edx]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov dword [esp + 0x140], esi
lea ebp, [eax + edx]
add ebp, dword [esp + 0x144]
cmp dword [esp + 0x38], ecx
mov dword [esp + 0x144], ebp
jg 0x6fd3f94e
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x5c], eax
cmp ecx, ebx
jg 0x6fd3f93d
mov ebx, ecx
cmp ebx, esi
jg 0x6fd3f934
mov eax, dword [esp + 0x5c]
mov esi, ebx
mov dword [esp + 0x50], eax
cmp esi, ebp
jg 0x6fd3f927
mov ebp, esi
mov dword [esp + 0x6c], edi
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov ecx, dword [edx + 0x38]
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x88]
mov eax, ecx
imul edx, ecx
neg eax
add edx, dword [esp + 0x54]
add eax, eax
add edx, dword [esp + 0x64]
mov dword [esp + 0x14], ecx
lea ecx, [edx + eax + 2]
mov dword [esp + 0x10], ecx
lea ecx, [edx + eax + 1]
mov dword [esp + 0xc], ecx
lea ecx, [edx + eax]
lea eax, [edx + eax - 1]
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0xa0]
mov ebx, dword [esp + 0xac]
mov esi, dword [esp + 0x90]
movsx eax, word [edx]
movsx edx, word [ecx]
mov edi, dword [esp + 0xa8]
lea ecx, [edx + eax]
movsx edx, word [ebx]
add ecx, dword [esp + 0x138]
lea ebx, [eax + edx]
movsx edx, word [esi]
add ebx, dword [esp + 0x13c]
mov dword [esp + 0x138], ecx
lea esi, [eax + edx]
movsx edx, word [edi]
add esi, dword [esp + 0x140]
mov dword [esp + 0x13c], ebx
add edx, eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x140], esi
add edx, eax
cmp ebp, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x144], edx
jg 0x6fd3f91a
mov edx, dword [esp + 0x6c]
mov ecx, ebp
mov dword [esp + 0x8c], edx
cmp ecx, ebx
jg 0x6fd3f90d
mov ebp, dword [esp + 0x8c]
mov ebx, ecx
mov dword [esp + 0x54], ebp
cmp ebx, esi
jg 0x6fd3f900
mov esi, ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 0x74], ebx
cmp esi, dword [esp + 0x38]
jg 0x6fd3f01d
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x80]
mov esi, dword [esp + 0x80]
add eax, 3
test esi, esi
cmovns eax, dword [esp + 0x80]
sar eax, 2
test eax, eax
mov dword [esp + 0x7c], eax
jle 0x6fd3fc5e
mov eax, dword [esp + 0x34]
mov ebp, 1
mov edx, dword [esp + 0x3c]
sub eax, dword [esp + 0x78]
sub edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov ecx, dword [esp + 0x44]
cmp edx, eax
mov esi, dword [esp + 0x44]
cmovg edx, eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x4c]
mov dword [esp + 0x54], esi
cmp edx, eax
cmovg edx, eax
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x44]
cmp edx, eax
cmovle eax, edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xa0], eax
lea edx, [ebx + edx*8]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xb0], edx
lea ecx, [ebx + ecx*8]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0x48], ebx
lea esi, [ebp*4]
cmp esi, dword [esp + 0xa0]
jle 0x6fd3f1a0
xor ebx, ebx
jmp 0x6fd3f0dc
add ebx, 1
cmp ebx, 0x10
je 0x6fd3f184
mov esi, dword [ebx*8 + 0x7075e1a0]
mov edi, dword [ebx*8 + 0x7075e1a4]
imul esi, ebp
add esi, dword [esp + 0x44]
cmp esi, dword [esp + 0x30]
jg 0x6fd3f0d0
cmp esi, dword [esp + 0x4c]
jl 0x6fd3f0d0
imul edi, ebp
add edi, dword [esp + 0x34]
cmp edi, dword [esp + 0x3c]
jg 0x6fd3f0d0
cmp edi, dword [esp + 0x78]
jl 0x6fd3f0d0
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x68]
mov eax, dword [edx + 0x38]
mov dword [esp + 4], 0x10
mov dword [esp + 0xc], eax
imul eax, edi
add eax, esi
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x28]
mov edx, dword [esp + 0x170]
mov dword [esp], eax
call dword [edx + ecx*4 + 4]
mov ecx, dword [esp + 0x40]
movsx ecx, word [ecx + esi*8]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x60]
movsx edx, word [ecx + edi*8]
add edx, dword [esp + 0x50]
add edx, eax
cmp edx, dword [esp + 0x38]
jge 0x6fd3f0d0
add ebp, 1
cmp ebp, dword [esp + 0x7c]
jle 0x6fd3f0b6
mov ebx, dword [esp + 0x54]
mov eax, dword [esp + 0x48]
jmp 0x6fd3cb37
mov edx, dword [esp + 0x174]
mov ecx, ebp
neg ecx
mov edi, dword [esp + 0x58]
mov dword [esp + 0x70], ecx
shl ecx, 2
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x70]
lea ebx, [ebp + ebp]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x18], edi
mov dword [esp + 0x50], ebx
imul ecx, eax
imul edx, eax
add edx, dword [esp + 0x44]
add ecx, dword [esp + 0x6c]
add edx, dword [esp + 0x64]
mov dword [esp + 0x14], eax
add ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x6c]
add ecx, edx
mov dword [esp + 0xc], ecx
mov ecx, ebp
imul ecx, eax
imul eax, ebx
mov ebx, dword [esp + 0x88]
add ecx, dword [esp + 0x6c]
add eax, dword [esp + 0x6c]
add ecx, edx
add eax, edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x40]
sub edx, esi
lea ebx, [ebx + edx*8]
movsx edi, word [ebx]
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 0x60]
add edx, dword [esp + 0x50]
mov dword [esp + 0xb8], edi
lea ebx, [ebx + edx*8]
movsx ecx, word [ebx]
mov dword [esp + 0x9c], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x8c], edx
add ecx, edi
mov edi, dword [esp + 0x34]
add ecx, dword [esp + 0x138]
add edi, ebp
lea ebx, [ebx + edi*8]
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0xb0]
movsx edx, word [ebx]
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x34]
add edx, dword [esp + 0xb8]
movsx eax, word [edi]
mov edi, dword [esp + 0x60]
sub ebx, ebp
add edx, dword [esp + 0x13c]
add eax, dword [esp + 0xb8]
lea edi, [edi + ebx*8]
mov dword [esp + 0xa8], edi
movsx edi, word [edi]
add eax, dword [esp + 0x140]
add edi, dword [esp + 0xb8]
add edi, dword [esp + 0x144]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
mov dword [esp + 0x74], ebx
mov dword [esp + 0x144], edi
cmp ecx, dword [esp + 0x38]
jl 0x6fd3f8e8
mov ecx, dword [esp + 0x38]
cmp ecx, edx
jg 0x6fd3f8d0
mov edx, ecx
cmp edx, eax
jg 0x6fd3f8b5
mov eax, edx
cmp eax, edi
jg 0x6fd3f8a0
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x48], edx
mov dword [esp + 0x54], ecx
jmp 0x6fd3f328
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x54], ebx
jmp 0x6fd3f31e
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x54], ebx
jmp 0x6fd3f314
mov edi, dword [esp + 0x34]
mov dword [esp + 0x50], edi
jmp 0x6fd3f003
mov edx, dword [esp + 0x34]
mov dword [esp + 0x50], edx
jmp 0x6fd3eff1
mov edi, dword [esp + 0x34]
mov dword [esp + 0x50], edi
jmp 0x6fd3efdc
mov edx, dword [esp + 0x34]
mov dword [esp + 0x50], edx
jmp 0x6fd3eee6
mov edi, dword [esp + 0x6c]
jmp 0x6fd3eed8
mov edi, dword [esp + 0x70]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x6c]
jmp 0x6fd3eec6
mov edi, dword [esp + 0x6c]
jmp 0x6fd3eebc
mov edi, dword [esp + 0x6c]
jmp 0x6fd3edba
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x8c]
jmp 0x6fd3eda8
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x54]
jmp 0x6fd3ed9e
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x74]
jmp 0x6fd3ed94
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x44]
jmp 0x6fd3ec8b
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
jmp 0x6fd3ec7d
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x44]
jmp 0x6fd3ec73
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x44]
jmp 0x6fd3ec69
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x74]
jmp 0x6fd3eb57
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x8c]
jmp 0x6fd3eb49
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x8c]
jmp 0x6fd3eb3f
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x74]
jmp 0x6fd3eb35
mov esi, dword [esp + 0x174]
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x88]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x18], edi
imul eax, edx
add eax, dword [esp + 0x54]
add eax, dword [esp + 0x64]
mov dword [esp + 0x14], edx
mov ecx, eax
sub ecx, edx
add edx, eax
mov dword [esp + 0x10], ecx
lea ecx, [eax - 1]
add eax, 1
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esi + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebp*4 + 0xc]
mov ebx, dword [esp + 0x54]
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x60]
add ebx, 1
lea esi, [esi + ebx*8]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x60]
movsx edx, word [esi]
mov dword [esp + 0x90], esi
mov esi, dword [esp + 0x40]
lea edi, [ebx + edi*8]
mov ebx, dword [esp + 0x54]
movsx ecx, word [edi]
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x70]
lea ebx, [esi + ebx*8]
movsx esi, word [ebx]
add edx, ecx
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x60]
add edi, 1
mov dword [esp + 0x5c], edi
add edx, dword [esp + 0x138]
lea ebx, [ebx + edi*8]
mov edi, dword [esp + 0x54]
movsx eax, word [ebx]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x138], edx
sub edi, 1
mov dword [esp + 0x8c], edi
add eax, esi
lea ebx, [ebx + edi*8]
mov edi, dword [esp + 0x70]
mov dword [esp + 0xa0], ebx
movsx ebx, word [ebx]
add eax, dword [esp + 0x13c]
sub edi, 1
lea ebp, [ebp + edi*8]
add ebx, ecx
movsx ecx, word [ebp]
add ebx, dword [esp + 0x140]
mov dword [esp + 0x50], edi
mov dword [esp + 0x13c], eax
add ecx, esi
mov esi, dword [esp + 0x144]
mov dword [esp + 0x140], ebx
mov dword [esp + 0xa4], ebp
add ecx, esi
mov dword [esp + 0x7c], ecx
mov edi, dword [esp + 0x74]
cmp edx, dword [esp + 0x6c]
mov dword [esp + 0x144], ecx
jl 0x6fd3fb45
mov edx, dword [esp + 0x6c]
mov edi, dword [esp + 0x54]
cmp edx, eax
jg 0x6fd3fb7e
mov ebp, dword [esp + 0x70]
mov eax, edx
cmp eax, ebx
jg 0x6fd3fb71
mov ebx, eax
cmp ebx, dword [esp + 0x7c]
jg 0x6fd3fb64
mov dword [esp + 0x7c], ebx
jmp 0x6fd3ea4a
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
jmp 0x6fd3ea4a
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x8c]
jmp 0x6fd3fb55
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x54]
jmp 0x6fd3fb4f
mov dword [esp + 0x7c], eax
mov dword [esp + 0x48], 0
mov dword [esp + 0x34], 1
jmp 0x6fd3c6d5
mov dword [esp + 0x48], 0
mov dword [esp + 0x34], 0xffffffff
jmp 0x6fd3dd49
mov dword [esp + 0x48], 1
mov dword [esp + 0x34], 0
jmp 0x6fd3dd3f
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], 0
jmp 0x6fd3c809
mov eax, dword [esp + 0x84]
mov ebx, 0x19
test eax, eax
je 0x6fd3c863
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x178]
mov ebx, dword [esp + 0x174]
mov esi, dword [esp + 0x178]
mov eax, dword [edx + 0x40]
sub eax, dword [ecx]
mov ecx, eax
sar ecx, 0x1f
mov edx, ecx
xor edx, eax
mov eax, dword [ebx + 0x44]
sub eax, dword [esi + 4]
sub edx, ecx
mov ecx, eax
sar ecx, 0x1f
xor eax, ecx
sub eax, ecx
lea ebx, [edx + eax]
jmp 0x6fd3c863
lea esi, [ebp - 1]
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x30], esi
mov edi, dword [esp + 0x30]
shl esi, 2
mov dword [esp + 0x68], ebp
mov dword [esp + 0x84], esi
shl edi, 3
mov dword [esp + 0x6c], edi
add ebx, edi
jmp 0x6fd3dbe4
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x48], edi
mov eax, edi
mov dword [esp + 0x54], edx
mov ebx, edx
jmp 0x6fd3cb37
mov esi, dword [esp + 0x48]
jmp 0x6fd3dedf
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x54], esi
jmp 0x6fd3e472
mov ebx, dword [esp + 0xac]
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x54], edi
jmp 0x6fd3e437
mov edi, dword [esp + 0xf8]
mov ebp, edx
mov dword [esp + 0xb8], edi
mov edi, dword [esp + 0xac]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0xa8]
mov dword [esp + 0x54], edi
jmp 0x6fd3e401
mov edi, dword [esp + 0x48]
mov dword [esp + 0x70], edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x54], edi
jmp 0x6fd3e3db
mov esi, dword [esp + 0xb8]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x70], ebx
mov eax, ebx
mov dword [esp + 0x54], esi
jmp 0x6fd3e20c
mov ebx, dword [esp + 0xa4]
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x54], ebx
jmp 0x6fd3e1f0
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x9c]
mov edx, dword [esp + 0xc8]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x54], ecx
jmp 0x6fd3e1d0
mov ebp, dword [esp + 0x80]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
sub edx, dword [esp + 0x34]
sub eax, dword [esp + 0x4c]
sar ebp, 1
or ebp, 1
cmp edx, eax
cmovle eax, edx
cmp ebp, eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x5c], eax
jg 0x6fd4076e
cmp ebp, 5
jle 0x6fd4076e
mov edx, dword [esp + 0x38]
mov esi, 0xfffffffb
mov edi, 3
mov ebp, dword [esp + 0x7c]
sub edx, 6
shr edx, 2
mov eax, edx
neg eax
lea eax, [eax*4 - 9]
mov dword [esp + 0x50], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x74], ebp
jmp 0x6fd3fe62
mov ebp, dword [esp + 0x54]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x6c], ebp
cmp ecx, edx
jg 0x6fd3ff9f
mov edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x9c], ecx
cmp edx, eax
jg 0x6fd3ff92
mov eax, edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xb8], edx
cmp eax, ebx
jg 0x6fd3ff76
mov ebx, dword [esp + 0xb8]
mov dword [esp + 0x74], eax
mov dword [esp + 0x54], ebx
add edi, 4
sub esi, 4
cmp esi, dword [esp + 0xc4]
je 0x6fd3ffac
mov ecx, dword [esp + 0x174]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x88]
mov edx, dword [ecx + 0x38]
mov dword [esp + 0x18], ebx
imul eax, edx
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 0x14], edx
lea edx, [eax + esi]
mov dword [esp + 0x10], edx
mov edx, eax
sub edx, esi
mov dword [esp + 0xc], edx
mov edx, eax
add eax, edi
sub edx, edi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebp*4 + 0xc]
mov ebx, dword [esp + 0x34]
mov eax, dword [esp + 0x40]
mov ebp, dword [esp + 0xc0]
add ebx, edi
movsx ecx, word [eax + ebx*8]
movsx ebp, word [ebp]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x44], ebp
add ecx, ebp
mov edx, ebp
mov ebp, dword [esp + 0x34]
sub ebx, edi
mov dword [esp + 0x9c], ebx
movsx ebx, word [eax + ebx*8]
add ecx, dword [esp + 0x138]
sub ebp, esi
mov dword [esp + 0xb8], ebp
movsx ebp, word [eax + ebp*8]
add edx, ebx
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x34]
add edx, dword [esp + 0x13c]
mov dword [esp + 0x138], ecx
add eax, ebp
mov ebp, dword [esp + 0x40]
add ebx, esi
mov dword [esp + 0xbc], ebx
add eax, dword [esp + 0x140]
movsx ebp, word [ebp + ebx*8]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], eax
add ebx, ebp
add ebx, dword [esp + 0x144]
cmp ecx, dword [esp + 0x74]
mov dword [esp + 0x144], ebx
jge 0x6fd3fdff
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x70], ebp
jmp 0x6fd3fe0b
mov dword [esp + 0x74], ebx
mov ebp, dword [esp + 0xbc]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x70], ebx
jmp 0x6fd3fe4f
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], ecx
jmp 0x6fd3fe38
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x70], ebp
jmp 0x6fd3fe20
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
lea ebx, [eax*4 + 7]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x34]
add esi, ebx
sub edi, ebx
cmp dword [esp + 0x38], ebx
jle 0x6fd400d9
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x174]
jmp 0x6fd40003
cmp dword [esp + 0x4c], edi
jle 0x6fd4006f
add dword [esp + 0x50], 2
add esi, 2
mov edx, dword [esp + 0x50]
sub edi, 2
cmp dword [esp + 0x38], edx
jle 0x6fd400d9
cmp dword [esp + 0x30], esi
jl 0x6fd3ffe0
mov eax, dword [ebx + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, dword [esp + 0x48]
add eax, esi
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xc0]
movsx edx, word [edx + esi*8]
mov dword [esp + 0x44], edx
movsx edx, word [ecx]
add edx, dword [esp + 0x44]
add eax, edx
cmp eax, ebp
jge 0x6fd3ffe0
mov ebp, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x54], esi
mov dword [esp + 0x70], eax
jmp 0x6fd3ffe0
mov eax, dword [ebx + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, dword [esp + 0x48]
add eax, edi
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0xc0]
movsx edx, word [edx + edi*8]
mov dword [esp + 0x44], edx
movsx edx, word [ecx]
add edx, dword [esp + 0x44]
add eax, edx
cmp ebp, eax
jle 0x6fd3ffea
mov ebp, eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x54], edi
mov dword [esp + 0x70], eax
jmp 0x6fd3ffea
mov edx, dword [esp + 0x3c]
mov ebx, 3
mov eax, dword [esp + 0x48]
sub edx, dword [esp + 0x48]
sub eax, dword [esp + 0x78]
cmp edx, eax
cmovle eax, edx
cmp dword [esp + 0x38], eax
mov dword [esp + 0x9c], eax
jg 0x6fd40313
cmp dword [esp + 0x38], 5
jle 0x6fd40313
mov ecx, dword [esp + 0x38]
mov esi, 0xfffffffb
mov edi, 3
mov dword [esp + 0x74], ebp
sub ecx, 6
shr ecx, 2
mov eax, ecx
neg eax
lea eax, [eax*4 - 9]
mov dword [esp + 0x50], ecx
mov dword [esp + 0xc4], eax
jmp 0x6fd401a2
mov ebp, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x6c], ebp
cmp ecx, edx
jg 0x6fd402f7
mov edx, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xb8], ecx
cmp edx, eax
jg 0x6fd402ea
mov eax, edx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xc0], edx
cmp eax, ebx
jg 0x6fd402ce
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x70], eax
add edi, 4
sub esi, 4
cmp esi, dword [esp + 0xc4]
je 0x6fd40304
mov edx, dword [esp + 0x174]
mov ebx, dword [esp + 0x58]
mov eax, dword [edx + 0x38]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x18], ebx
mov ecx, eax
imul edx, eax
imul ecx, esi
add edx, dword [esp + 0x34]
add edx, dword [esp + 0x64]
mov dword [esp + 0x14], eax
add ecx, edx
mov ebp, edx
mov dword [esp + 0x10], ecx
mov ecx, esi
mov ebx, edx
imul ecx, eax
sub ebp, ecx
mov ecx, edi
imul ecx, eax
imul eax, edi
mov dword [esp + 0xc], ebp
sub ebx, ecx
add eax, edx
mov edx, dword [esp + 0x174]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0xcc]
add ebx, edi
movsx ecx, word [ebp + ebx*8]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x48]
movsx edx, word [edx]
sub ebx, edi
mov dword [esp + 0xb8], ebx
movsx ebx, word [ebp + ebx*8]
add ecx, edx
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x44]
add ecx, dword [esp + 0x138]
add edx, ebx
mov ebx, dword [esp + 0x48]
add edx, dword [esp + 0x13c]
mov dword [esp + 0x138], ecx
sub ebx, esi
movsx ebp, word [ebp + ebx*8]
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x13c], edx
add eax, ebp
mov ebp, dword [esp + 0x60]
add ebx, esi
mov dword [esp + 0xbc], ebx
add eax, dword [esp + 0x140]
movsx ebp, word [ebp + ebx*8]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x140], eax
add ebx, ebp
add ebx, dword [esp + 0x144]
cmp ecx, dword [esp + 0x74]
mov dword [esp + 0x144], ebx
jge 0x6fd4013f
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x54], ebp
jmp 0x6fd4014b
mov dword [esp + 0x74], ebx
mov edx, dword [esp + 0xbc]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov dword [esp + 0x54], ebx
jmp 0x6fd4018f
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x54], ebp
jmp 0x6fd40178
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x54], ebp
jmp 0x6fd40160
mov esi, dword [esp + 0x50]
mov ebp, dword [esp + 0x74]
lea ebx, [esi*4 + 7]
mov esi, dword [esp + 0x48]
mov edi, dword [esp + 0x48]
add esi, ebx
sub edi, ebx
cmp ebx, dword [esp + 0x38]
jge 0x6fd4042f
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x174]
jmp 0x6fd40359
cmp dword [esp + 0x78], edi
jle 0x6fd403c5
add dword [esp + 0x50], 2
add esi, 2
mov edx, dword [esp + 0x50]
sub edi, 2
cmp dword [esp + 0x38], edx
jle 0x6fd4042f
cmp dword [esp + 0x3c], esi
jl 0x6fd40336
mov eax, dword [ebx + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, esi
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x60]
movsx edx, word [edx]
mov dword [esp + 0x44], edx
movsx edx, word [ecx + esi*8]
add edx, dword [esp + 0x44]
add eax, edx
cmp eax, ebp
jge 0x6fd40336
mov ebp, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], eax
jmp 0x6fd40336
mov eax, dword [ebx + 0x38]
mov edx, dword [esp + 0x68]
mov dword [esp + 4], 0x10
mov ecx, dword [esp + 0x170]
mov dword [esp + 0xc], eax
imul eax, edi
add eax, dword [esp + 0x34]
add eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x28]
mov dword [esp], eax
call dword [ecx + edx*4 + 4]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0x60]
movsx edx, word [edx]
mov dword [esp + 0x44], edx
movsx edx, word [ecx + edi*8]
add edx, dword [esp + 0x44]
add eax, edx
cmp ebp, eax
jle 0x6fd40340
mov ebp, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], edi
mov dword [esp + 0x54], eax
jmp 0x6fd40340
mov edx, dword [esp + 0x174]
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x58]
mov ecx, dword [edx + 0x38]
mov dword [esp + 0x18], esi
imul eax, ecx
mov edx, ecx
add eax, dword [esp + 0x34]
neg edx
add eax, dword [esp + 0x64]
lea ebx, [edx + edx]
mov dword [esp + 0x14], ecx
mov edx, eax
sub edx, ecx
add edx, 2
mov dword [esp + 0x10], edx
mov edx, eax
sub edx, ecx
sub edx, 2
mov dword [esp + 0xc], edx
lea edx, [eax + ebx + 1]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x174]
lea eax, [eax + ebx - 1]
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x88]
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x108]
mov esi, dword [esp + 0xd4]
mov edi, dword [esp + 0xdc]
movsx edx, word [ebx]
movsx eax, word [esi]
movsx ecx, word [edi]
mov ebx, dword [esp + 0xec]
mov edi, dword [esp + 0xf4]
add eax, edx
add ecx, edx
mov edx, dword [esp + 0x10c]
add eax, dword [esp + 0x138]
add ecx, dword [esp + 0x13c]
movsx esi, word [edx]
movsx edx, word [ebx]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
lea ebx, [edx + esi]
movsx edx, word [edi]
add ebx, dword [esp + 0x140]
add esi, edx
add esi, dword [esp + 0x144]
cmp eax, ebp
mov dword [esp + 0x140], ebx
mov dword [esp + 0x144], esi
jl 0x6fd40753
mov eax, ebp
cmp eax, ecx
jg 0x6fd40743
mov edi, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0xb0], edi
cmp ecx, ebx
jg 0x6fd40725
mov ebx, ecx
cmp ebx, esi
jg 0x6fd40715
mov ebp, dword [esp + 0xb0]
mov esi, ebx
mov dword [esp + 0xa4], ebp
mov edx, dword [esp + 0x174]
mov ecx, dword [esp + 0x48]
mov edi, dword [esp + 0x58]
mov ebx, dword [edx + 0x38]
mov dword [esp + 0x18], edi
imul ecx, ebx
add ecx, dword [esp + 0x34]
add ecx, dword [esp + 0x64]
lea eax, [ebx + ebx]
mov dword [esp + 0x14], ebx
lea edx, [ecx + eax + 1]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x174]
lea eax, [ecx + eax - 1]
mov dword [esp + 0xc], eax
lea eax, [ecx + ebx + 2]
mov dword [esp + 8], eax
lea eax, [ecx + ebx - 2]
mov ebx, dword [esp + 0x88]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x170]
call dword [eax + ebx*4 + 0xc]
mov ebx, dword [esp + 0x118]
mov edi, dword [esp + 0xec]
mov ebp, dword [esp + 0xf4]
movsx edx, word [ebx]
movsx eax, word [edi]
movsx ecx, word [ebp]
mov ebx, dword [esp + 0xd4]
mov ebp, dword [esp + 0xdc]
add eax, edx
add ecx, edx
mov edx, dword [esp + 0x11c]
add eax, dword [esp + 0x138]
add ecx, dword [esp + 0x13c]
movsx edi, word [edx]
movsx edx, word [ebx]
mov dword [esp + 0x138], eax
mov dword [esp + 0x13c], ecx
lea ebx, [edx + edi]
movsx edx, word [ebp]
add ebx, dword [esp + 0x140]
add edx, edi
mov edi, dword [esp + 0x144]
mov dword [esp + 0x140], ebx
add edx, edi
cmp esi, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x144], edx
jg 0x6fd40702
mov eax, esi
mov esi, dword [esp + 0x54]
mov dword [esp + 0xb4], esi
cmp eax, ecx
jg 0x6fd40681
mov ebp, dword [esp + 0xa4]
mov ecx, eax
mov edx, dword [esp + 0xb4]
mov dword [esp + 0xac], ebp
mov dword [esp + 0x100], edx
cmp ecx, ebx
jg 0x6fd406f2
mov esi, dword [esp + 0x100]
mov ebx, ecx
mov dword [esp + 0xa8], esi
cmp ebx, dword [esp + 0x6c]
jg 0x6fd406bb
mov ebp, dword [esp + 0xac]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x6c], ebx
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xa0], edx
mov ebx, dword [esp + 0x6c]
cmp dword [esp + 0x7c], ebx
je 0x6fd407d7
mov ebx, dword [esp + 0x38]
mov esi, dword [esp + 0xd0]
mov edi, dword [esp + 0xa0]
add ebx, 2
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x70], esi
mov dword [esp + 0x54], edi
jmp 0x6fd3c793
mov edi, dword [esp + 0x90]
mov dword [esp + 0xac], edi
jmp 0x6fd40695
mov edi, dword [esp + 0xac]
mov dword [esp + 0xa4], edi
jmp 0x6fd4065f
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x54], edx
jmp 0x6fd4055e
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0xb4]
mov dword [esp + 0xb0], edx
mov dword [esp + 0x54], edi
jmp 0x6fd40546
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x54], ebp
jmp 0x6fd4053c
mov ebp, dword [esp + 0xb0]
mov edx, dword [esp + 0xa8]
mov dword [esp + 0x70], ebp
mov dword [esp + 0x54], edx
jmp 0x6fd40527
mov ebp, dword [esp + 0x7c]
mov ebx, 3
jmp 0x6fd3ffbb
movzx ecx, byte [esp + 0x104]
mov eax, 0x1f4
sar eax, cl
cmp dword [esp + 0x38], eax
jge 0x6fd3e47c
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0xbc]
mov edi, dword [esp + 0xfc]
movsx edx, word [esi + ebx]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x70]
movsx eax, word [ebx + edi]
mov dword [esp + 0x48], esi
add eax, edx
jmp 0x6fd3c4b2
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x34], edi
jmp 0x6fd3c71b
mov esi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0xd0]
mov ebp, dword [esp + 0xd0]
shl esi, 2
movsx eax, word [ebx + esi*2]
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x60]
shl edi, 2
mov dword [esp + 0x5c], edi
mov dword [esp + 0x48], ebp
movsx edx, word [esi + edi*2]
mov edi, dword [esp + 0x7c]
add eax, edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x38], edi
mov dword [esp + 0x54], edx
jmp 0x6fd3c4b2