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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
and esp, 0xfffffff0
sub esp, 0xba0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0x64], eax
xor eax, eax
xor edi, edi
xor edx, edx
mov dword [esp + eax + 0x184], edi
mov dword [esp + eax + 0x188], edx
add eax, 8
cmp eax, 0x18
jb 0x6fecdb6b
xor ebx, ebx
mov edi, dword [esp + 0x64]
mov dword [esp + eax + 0x184], ebx
mov eax, dword [ebp + 0xc]
mov esi, dword [edi + 0x20]
mov eax, dword [eax + 0x1a28]
mov dword [esp + 0x184], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x6ac], 1
setne al
movzx eax, al
inc eax
mov dword [esp + 0x188], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x7c]
sar eax, 3
mov dword [esp + 0x198], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x80]
sar eax, 3
mov dword [esp + 0x19c], eax
mov eax, dword [edi + 0x28]
lea edx, [eax - 1]
cmp edx, 1
mov dword [esp + 0x18c], eax
setbe dl
dec eax
sete al
movzx edx, dl
movzx eax, al
mov dword [esp + 0x194], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x190], edx
mov dword [esp + 0x130], eax
add eax, eax
imul eax, esi
mov dword [esp], eax
call fcn.6fd4e5a0
test eax, eax
mov dword [esp + 0xe8], eax
je 0x6fecf0b9
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0xe8]
fld qword [0x7046fa00]
mov edx, dword [edi + 0x1c]
mov ebx, dword [edi + 0x20]
fnstcw word [esp + 0x13e]
imul ebx, edx
add eax, ebx
mov dword [esp + 0xe4], eax
movzx eax, word [esp + 0x13e]
or ax, 0xc00
mov word [esp + 0x13c], ax
mov eax, dword [ebp + 8]
fldcw word [esp + 0x13c]
fistp dword [esp + 0x58]
fldcw word [esp + 0x13e]
mov eax, dword [eax + 0x6b4]
mov dword [esp + 0x48], eax
mov eax, dword [edi + 0x18]
add eax, 0xf
and eax, 0xfffffff0
mov ecx, eax
lea eax, [edx + 0xf]
mov edx, dword [esp + 0x190]
and eax, 0xfffffff0
imul eax, ecx
mov ecx, dword [esp + 0x194]
mov edi, eax
add ecx, edx
sar edi, cl
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x130], edi
test ecx, ecx
jle 0x6fecf0c9
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x58]
xor ebx, ebx
fild dword [esp + 0x128]
mov esi, 7
mov edi, 7
mov dword [esp + 0x88], ebx
mov dword [esp + 0x90], esi
shl eax, 2
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x94], edi
fld1
fdivr st(1), st(0)
fxch st(1)
add eax, 0x6cc
mov dword [esp + 0x50], eax
lea eax, [esp + 0x5a0]
mov dword [esp + 0x5c], eax
mov dword [esp + 0xb4], eax
fstp dword [esp + 0x4c]
fild dword [esp + 0x130]
fdivp st(1)
fstp dword [esp + 0x60]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x48]
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
mov edi, eax
mov dword [esp + 0xf8], eax
mov ebx, dword [edi + 0x2c3c]
sub edx, ecx
mov ecx, dword [edi + 0x2c38]
mov eax, edx
sar eax, 0x1f
xor edx, eax
sub edx, eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x54], edx
mov dword [eax + 8], 1
mov dword [eax + 4], 0
mov dword [eax + 0xc], 0
mov byte [eax], 0
mov eax, ecx
or eax, ebx
sete al
xor edi, edi
movzx eax, al
mov esi, eax
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x134], edi
add esi, dword [eax + 0x2c38]
adc edi, dword [eax + 0x2c3c]
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], edi
test edi, edi
fild qword [esp + 0x128]
js 0x6fecee1d
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
add eax, ecx
adc edx, ebx
mov dword [esp + 0x130], eax
test edx, edx
mov dword [esp + 0x134], edx
fild qword [esp + 0x130]
js 0x6fecee9a
mov eax, dword [ebp + 0xc]
fdivp st(1)
fsqrt
fstp dword [esp + 0x160]
fild qword [eax + 0x2c50]
mov eax, dword [eax + 0x2c54]
test eax, eax
js 0x6fecee8f
mov eax, dword [esp + 0xf8]
fmul dword [esp + 0x4c]
fstp dword [esp + 0x16c]
fild qword [eax + 0x2c50]
mov eax, dword [eax + 0x2c54]
test eax, eax
js 0x6fecee84
mov eax, dword [esp + 0xb4]
fmul dword [esp + 0x4c]
mov dword [eax + 0x1c], 0
mov byte [eax + 0x10], 0
mov eax, dword [esp + 0xf8]
fstp dword [esp + 0x178]
mov ecx, dword [eax + 0x2c40]
mov ebx, dword [eax + 0x2c44]
mov eax, ecx
or eax, ebx
sete al
xor edi, edi
movzx eax, al
mov esi, eax
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x134], edi
add esi, dword [eax + 0x2c40]
adc edi, dword [eax + 0x2c44]
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], edi
test edi, edi
fild qword [esp + 0x128]
js 0x6fecee79
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
add eax, ecx
adc edx, ebx
mov dword [esp + 0x130], eax
test edx, edx
mov dword [esp + 0x134], edx
fild qword [esp + 0x130]
js 0x6fecee6e
mov eax, dword [ebp + 0xc]
fdivp st(1)
mov edi, dword [eax + 0x2c5c]
test edi, edi
fsqrt
fst dword [esp + 0x164]
fild qword [eax + 0x2c58]
js 0x6fecee63
mov eax, dword [esp + 0xf8]
fmul dword [esp + 0x60]
mov esi, dword [eax + 0x2c5c]
fstp dword [esp + 0x170]
test esi, esi
fild qword [eax + 0x2c58]
js 0x6feceee2
mov eax, dword [esp + 0xb4]
fmul dword [esp + 0x60]
mov dword [eax + 0x2c], 0
mov byte [eax + 0x20], 0
mov eax, dword [esp + 0xf8]
fstp dword [esp + 0x17c]
mov ecx, dword [eax + 0x2c48]
mov ebx, dword [eax + 0x2c4c]
mov eax, ecx
or eax, ebx
sete al
xor edi, edi
movzx eax, al
mov esi, eax
mov dword [esp + 0x130], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x134], edi
add esi, dword [eax + 0x2c48]
adc edi, dword [eax + 0x2c4c]
mov dword [esp + 0x128], esi
mov dword [esp + 0x12c], edi
test edi, edi
fild qword [esp + 0x128]
js 0x6feceed7
mov eax, dword [esp + 0x130]
mov edx, dword [esp + 0x134]
add eax, ecx
adc edx, ebx
mov dword [esp + 0x130], eax
test edx, edx
mov dword [esp + 0x134], edx
fild qword [esp + 0x130]
js 0x6feceecc
mov eax, dword [ebp + 0xc]
fdivp st(1)
mov ebx, dword [eax + 0x2c64]
test ebx, ebx
fsqrt
fst dword [esp + 0x168]
fild qword [eax + 0x2c60]
js 0x6feceec1
mov eax, dword [esp + 0xf8]
fmul dword [esp + 0x60]
mov ecx, dword [eax + 0x2c64]
fstp dword [esp + 0x174]
test ecx, ecx
fild qword [eax + 0x2c60]
js 0x6fecee28
mov eax, dword [esp + 0x88]
fmul dword [esp + 0x60]
mov edx, dword [esp + 0x94]
test eax, eax
sete byte [esp + 0xb1]
test edx, edx
movzx eax, byte [esp + 0xb1]
fstp dword [esp + 0x180]
jle 0x6fecf037
test al, al
je 0x6fecf03d
movzx ecx, byte [esp + 0x94]
mov eax, 1
shl eax, cl
mov dword [esp + 0xf4], eax
fild dword [esp + 0xf4]
fdivr dword [0x707677a0]
fcomi st(2)
jbe 0x6fece090
fcompi st(1)
ja 0x6fece0db
jmp 0x6fece092
fstp st(0)
mov ecx, dword [esp + 0x94]
jmp 0x6fece0a2
fstp st(0)
dec ecx
test ecx, ecx
jle 0x6fecec52
mov eax, 1
shl eax, cl
mov dword [esp + 0xf4], eax
fild dword [esp + 0xf4]
fdivr dword [0x707677a0]
fcomi st(2)
jbe 0x6fece0a0
fcompi st(1)
jbe 0x6fece0a2
fstp st(0)
fstp st(0)
mov dword [esp + 0x94], ecx
jmp 0x6fece0df
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xb4]
mov eax, dword [esp + 0x94]
movzx ecx, byte [esp + 0x90]
mov dword [edi + 0x18], ebx
mov dword [edi + 0x14], eax
mov dword [edi + 0x28], ebx
mov dword [edi + 0x24], eax
mov eax, 1
mov dword [esp + 0x68], edi
xor edi, edi
mov dword [esp + 0xc8], edi
mov edi, dword [esp + 0x88]
shl eax, cl
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, edi
shl eax, 4
mov ebx, eax
add ebx, edi
mov dword [esp + 0x34], ebx
call fcn.6fd65780
mov eax, dword [esp + 0xc8]
fld dword [esp + eax*4 + 0x178]
fst dword [esp + 0x130]
fld dword [esp + eax*4 + 0x16c]
fsubp st(1)
fabs
fld dword [0x707677b0]
fcompi st(1)
fstp st(0)
jbe 0x6fece1f8
fld1
fsub dword [esp + eax*4 + 0x160]
fabs
fld dword [0x707677b4]
fcompi st(1)
fstp st(0)
jbe 0x6fece1f8
mov eax, dword [esp + 0x68]
mov edi, dword [esp + 0x84]
mov dword [eax + 8], edi
mov edi, dword [esp + 0x90]
mov dword [eax + 0xc], 0
mov byte [eax], 0
mov dword [eax + 4], edi
inc dword [esp + 0xc8]
add dword [esp + 0x68], 0x10
mov eax, dword [esp + 0xc8]
cmp eax, 3
je 0x6feceac3
mov eax, dword [esp + 0xb4]
cmp byte [eax], 0
je 0x6feceaf8
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x90], eax
jmp 0x6fece13d
mov eax, dword [esp + 0xc8]
fild dword [esp + 0x84]
test eax, eax
je 0x6fecf0d9
fmul dword [esp + eax*4 + 0x160]
xor ebx, ebx
fnstcw word [esp + 0x13e]
mov esi, 0xff
mov dword [esp + 0x148], ebx
mov dword [esp + 0x14c], esi
fadd dword [0x707677b0]
movzx eax, word [esp + 0x13e]
or ax, 0xc00
mov word [esp + 0x13c], ax
fldcw word [esp + 0x13c]
fistp dword [esp + 0x138]
fldcw word [esp + 0x13e]
mov eax, dword [esp + 0x138]
test eax, eax
mov dword [esp + 0x150], eax
jle 0x6feced1c
cmp eax, 0xff
jg 0x6fece1ab
cmp eax, 0x7f
jg 0x6fece1ab
mov dword [esp + 0xac], eax
mov edi, eax
mov eax, dword [esp + 0x68]
cmp dword [esp + 0xc8], 2
mov dword [esp + 0x6c], eax
mov dword [eax + 8], edi
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x78], eax
jne 0x6fecee33
mov eax, dword [esp + 0xf8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x14]
mov edx, eax
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x64]
mov edi, dword [eax + 0x14]
mov ebx, dword [eax + 0x24]
mov dword [esp + 0xbc], edi
mov edi, eax
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x190]
and eax, 0xfffffff0
shr eax, cl
mov ecx, dword [esp + 0x194]
mov esi, eax
mov dword [esp + 0x124], eax
mov eax, dword [edi + 0x1c]
mov dword [esp + 0x130], eax
and eax, 0xfffffff0
shr eax, cl
mov ecx, dword [esp + 0x7c]
mov edi, eax
mov dword [esp + 0x118], eax
test ecx, ecx
je 0x6fece34f
mov dword [esp + 8], edi
mov edi, dword [esp + 0xe8]
lea eax, [esp + 0x184]
mov dword [esp + 4], eax
mov dword [esp], ecx
mov ecx, ebx
mov dword [esp + 0xc], esi
mov eax, edi
call fcn.6fecd800
mov dword [esp + 0xd4], edi
cmp dword [esp + 0x18c], 3
je 0x6fecef67
cmp dword [esp + 0x118], 8
jle 0x6fecec49
lea eax, [ebx*8]
mov edi, dword [esp + 0xbc]
xor esi, esi
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xd4]
mov ecx, 8
mov dword [esp + 0x104], esi
mov esi, ebx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x130], eax
cmp dword [esp + 0x124], 8
mov ebx, 8
jle 0x6fece3f6
mov eax, ebx
mov ebx, esi
mov esi, eax
lea esi, [esi]
lea eax, [edi + esi]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], ebx
add eax, esi
add esi, 8
mov dword [esp], eax
call dword [0x70e9d60c]
add dword [esp + 0x104], eax
cmp dword [esp + 0x124], esi
jg 0x6fece3c0
mov esi, ebx
add dword [esp + 0x128], 8
mov edx, dword [esp + 0x120]
add dword [esp + 0x130], edx
mov eax, dword [esp + 0x128]
add edi, edx
cmp dword [esp + 0x118], eax
jg 0x6fece3a5
xor eax, eax
mov ebx, esi
mov byte [esp + 0xb3], al
mov eax, dword [esp + 0x104]
test eax, eax
je 0x6fecec49
mov edi, dword [esp + 0xac]
mov ecx, 0x7f
mov eax, edi
sub eax, 4
cmp eax, 0x7f
cmovg eax, ecx
xor edx, edx
test eax, eax
cmovs eax, edx
add edi, 4
cmp edi, 0x7f
cmovle ecx, edi
test ecx, ecx
cmovs ecx, edx
cmp eax, ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x70], ecx
jg 0x6fecef1f
mov edi, dword [esp + 0x8c]
mov eax, 1
mov esi, dword [esp + 0xc8]
mov ecx, edi
shl eax, cl
test esi, esi
mov dword [esp + 0x74], eax
lea ecx, [edi - 1]
mov esi, 1
fild dword [esp + 0x74]
setne byte [esp + 0xb0]
shl esi, cl
mov eax, esi
shl eax, 6
test edi, edi
lea edi, [ebx*8]
cmovne edx, eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0x108], edi
mov edi, ebx
fst dword [esp + 0x44]
fdivr dword [0x707677a8]
shl edi, 4
cmp byte [esp + 0xb0], 0
mov dword [esp + 0xcc], edi
mov edi, dword [esp + 0x124]
cmovne eax, dword [esp + 0x3c]
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa8], eax
mov eax, edi
sub eax, 9
shr eax, 3
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xdc], eax
xor eax, eax
mov byte [esp + 0xb2], al
xor eax, eax
mov dword [esp + 0xe0], eax
mov eax, edi
add eax, 0xf
and eax, 0xfffffff0
mov dword [esp + 0x98], eax
fstp dword [esp + 0x38]
jmp 0x6fece557
inc dword [esp + 0xc4]
mov eax, dword [esp + 0xc4]
cmp dword [esp + 0x70], eax
jl 0x6feced31
mov edx, dword [esp + 0x74]
mov esi, 0x7f
mov ecx, dword [esp + 0xc4]
mov eax, esi
sub eax, edx
add eax, ecx
cmp eax, 0xfe
ja 0x6fece53f
call fcn.6fd65780
mov eax, dword [esp + 0xc8]
fld dword [esp + eax*4 + 0x16c]
fld dword [esp + eax*4 + 0x178]
fld dword [0x707677b0]
fadd st(2)
fnstcw word [esp + 0x13e]
fld dword [esp + 0x38]
fmul st(2)
movzx eax, word [esp + 0x13e]
fild dword [esp + 0xc4]
or ax, 0xc00
mov word [esp + 0x13c], ax
fmulp st(1)
fsubp st(1)
fldcw word [esp + 0x13c]
fistp dword [esp + 0x138]
fldcw word [esp + 0x13e]
mov edx, dword [esp + 0x138]
lea eax, [edx + 0x80]
cmp eax, 0xff
ja 0x6fecec72
fstp st(0)
fstp st(0)
lea eax, [edx + 2]
cmp eax, 0x7f
cmovle esi, eax
lea eax, [edx - 2]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0xc4]
cmp dword [esp + 0xc0], 0xffffff81
mov dword [esp + 0xb8], esi
mov dword [esp + 0xd8], eax
jl 0x6feced0b
mov edi, dword [esp + 0xb8]
cmp dword [esp + 0xc0], edi
jg 0x6fece53f
mov eax, dword [esp + 0x8c]
mov esi, ebx
movzx edx, byte [esp + 0xb0]
movzx ecx, byte [eax + 0x707676a1]
lea edi, [eax + 6]
mov eax, 2
sub eax, edx
mov dword [esp + 0xa4], edi
mov edi, dword [esp + 0xd8]
imul eax, ecx
lea edx, [edi + edi]
add eax, 0xa
mov dword [esp + 0xa0], eax
mov eax, edi
mov edi, dword [esp + 0xc0]
neg eax
lea eax, [eax + eax + 1]
test eax, eax
cmovs eax, edx
mov dword [esp + 0xd0], eax
sar eax, 8
mov dword [esp + 0x80], eax
mov eax, edi
neg eax
lea eax, [eax + eax + 1]
mov dword [esp + 0xf0], eax
mov eax, edi
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x40]
lea edi, [edi + edi]
mov dword [esp + 0xec], edi
inc eax
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x100]
mov esi, esi
lea edi, [edi]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 8], esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp], eax
call dword [0x70e9dc48]
cmp byte [esp + 0xb3], 0
je 0x6fece954
mov eax, dword [esp + 0xe4]
mov ecx, 8
xor ebx, ebx
mov dword [esp + 0x11c], ecx
mov ecx, esi
mov dword [esp + 0x130], ebx
add eax, 8
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0xbc]
add eax, 8
mov dword [esp + 0x114], eax
xor eax, eax
lea esi, [esi]
lea edi, [edi]
cmp dword [esp + 0x124], 8
jle 0x6fece822
mov edx, dword [esp + 0xfc]
lea ebx, [eax*4]
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0x110]
add eax, edx
mov dword [esp + 0x10c], eax
shl eax, 2
mov dword [esp + 0x120], eax
lea esi, [esi]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], esi
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x128], ecx
call dword [0x70e9d60c]
mov edx, dword [esp + 0x184]
mov ecx, dword [esp + 0x128]
mov edx, dword [edx + ebx]
cmp eax, edx
cmovge eax, edx
add ebx, 4
add dword [esp + 0x130], eax
add edi, 8
add esi, 8
cmp ebx, dword [esp + 0x120]
jne 0x6fece7d0
mov eax, dword [esp + 0x10c]
add dword [esp + 0x11c], 8
mov esi, dword [esp + 0x108]
add dword [esp + 0x110], esi
mov edi, dword [esp + 0x11c]
add dword [esp + 0x114], esi
cmp dword [esp + 0x118], edi
jg 0x6fece790
mov esi, ecx
cmp dword [esp + 0xd0], 0xff
jg 0x6fece93e
mov eax, dword [esp + 0xd0]
movzx edx, byte [eax + 0x707676a0]
mov edi, dword [esp + 0xf0]
mov eax, dword [esp + 0xec]
test edi, edi
cmovns eax, edi
cmp eax, 0xff
jle 0x6fecea03
sar eax, 8
movzx eax, byte [eax + 0x707676a0]
add eax, 0x10
mov edi, dword [esp + 0xa0]
add eax, edx
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x130]
lea eax, [edi + eax*2]
imul eax, edx
add eax, ecx
cmp eax, dword [esp + 0xdc]
jae 0x6fece8f3
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xac], eax
mov al, 1
mov byte [esp + 0xb2], al
mov eax, dword [esp + 0xc0]
cmp dword [esp + 0xe0], eax
jne 0x6fece90c
cmp dword [esp + 0x100], eax
jne 0x6fece937
inc dword [esp + 0x100]
sub dword [esp + 0xf0], 2
add dword [esp + 0xec], 2
mov eax, dword [esp + 0x100]
cmp eax, dword [esp + 0xb8]
jle 0x6fece6e0
mov ebx, esi
jmp 0x6fece53f
mov eax, dword [esp + 0x80]
movzx eax, byte [eax + 0x707676a0]
lea edx, [eax + 0x10]
jmp 0x6fece874
cmp dword [esp + 0x18c], 3
je 0x6fecea0f
mov eax, dword [esp + 0xbc]
mov ebx, 8
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x120], ebx
mov ebx, esi
mov dword [esp + 0x128], eax
xor eax, eax
mov dword [esp + 0x130], eax
nop
cmp dword [esp + 0x124], 8
mov esi, 8
jle 0x6fece9d4
nop
mov eax, dword [esp + 0x128]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], ebx
add eax, esi
mov dword [esp + 8], eax
lea eax, [edi + esi]
add esi, 8
mov dword [esp], eax
call dword [0x70e9d60c]
add dword [esp + 0x130], eax
cmp dword [esp + 0x124], esi
jg 0x6fece9a0
add dword [esp + 0x120], 8
mov esi, dword [esp + 0x108]
add dword [esp + 0x128], esi
mov eax, dword [esp + 0x120]
add edi, esi
cmp dword [esp + 0x118], eax
jg 0x6fece990
mov esi, ebx
jmp 0x6fece855
movzx eax, byte [eax + 0x707676a0]
jmp 0x6fece89f
cmp dword [esp + 0x118], 0x10
jle 0x6fecef11
mov eax, dword [esp + 0xbc]
mov ebx, esi
mov edi, dword [esp + 0xe4]
mov dword [esp + 0x128], eax
mov eax, 0x10
mov dword [esp + 0x120], eax
xor eax, eax
mov dword [esp + 0x130], eax
lea esi, [esi]
cmp dword [esp + 0x124], 0x10
mov esi, 0x10
jle 0x6fecea94
nop
mov eax, dword [esp + 0x128]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], ebx
add eax, esi
mov dword [esp + 8], eax
lea eax, [edi + esi]
add esi, 0x10
mov dword [esp], eax
call dword [0x70e9d610]
add dword [esp + 0x130], eax
cmp dword [esp + 0x124], esi
jg 0x6fecea60
add dword [esp + 0x120], 0x10
mov esi, dword [esp + 0xcc]
add dword [esp + 0x128], esi
mov eax, dword [esp + 0x120]
add edi, esi
cmp dword [esp + 0x118], eax
jg 0x6fecea50
mov esi, ebx
jmp 0x6fece855
mov edi, dword [esp + 0xb4]
cmp byte [edi], 0
je 0x6feceaf8
movzx eax, byte [edi + 0x10]
cmp al, byte [edi + 0x20]
je 0x6feceaf8
test al, al
je 0x6feceeed
mov eax, dword [edi + 0x10]
mov dword [edi + 0x20], eax
mov eax, dword [edi + 0x14]
mov dword [edi + 0x24], eax
mov eax, dword [edi + 0x18]
mov dword [edi + 0x28], eax
mov eax, dword [edi + 0x1c]
mov dword [edi + 0x2c], eax
mov eax, dword [esp + 0xb4]
mov edi, dword [esp + 0x88]
mov esi, dword [eax + 4]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edx
mov eax, dword [eax + edi*4 + 0x6c4]
cmp eax, 1
jle 0x6feceb99
mov ecx, esi
mov edi, 1
shl edi, cl
mov ebx, 1
mov cl, dl
shl ebx, cl
mov ecx, dword [esp + 0x88]
lea eax, [eax + eax*2]
shl eax, 4
lea ecx, [ecx + ecx*2]
shl ecx, 8
lea ecx, [ecx + eax - 0x30]
mov eax, dword [esp + 0x5c]
add ecx, eax
mov eax, dword [esp + 0xb4]
nop
mov dword [eax + 0x38], edi
add eax, 0x30
mov dword [eax + 4], esi
mov dword [eax + 0xc], 0
mov byte [eax], 0
mov dword [eax + 0x18], ebx
mov dword [eax + 0x14], edx
mov dword [eax + 0x1c], 0
mov byte [eax + 0x10], 0
mov dword [eax + 0x28], ebx
mov dword [eax + 0x24], edx
mov dword [eax + 0x2c], 0
mov byte [eax + 0x20], 0
cmp eax, ecx
jne 0x6feceb60
inc dword [esp + 0x88]
add dword [esp + 0x50], 0x44
add dword [esp + 0xb4], 0x300
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x188], eax
jg 0x6fecdd3b
mov eax, dword [esp + 0xe8]
mov dword [esp], eax
call fcn.6fd4e5c0
mov eax, dword [ebp + 8]
mov esi, dword [esp + 0x5c]
lea edi, [eax + 8]
mov eax, 0x600
test edi, 1
jne 0x6fecf05e
test edi, 2
jne 0x6fecf08a
test edi, 4
jne 0x6fecf0a6
mov ecx, eax
xor edx, edx
shr ecx, 2
test al, 2
rep movsd dword es:[edi], dword [esi]
je 0x6fecec1e
movzx edx, word [esi]
mov word [edi], dx
mov edx, 2
test al, 1
je 0x6fecec29
movzx eax, byte [esi + edx]
mov byte [edi + edx], al
mov eax, dword [ebp + 0x10]
cmp dword [eax + 0x18], 3
jg 0x6fecf18e
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x6c]
jmp 0x6fece18d
fstp st(0)
fstp st(0)
mov eax, 1
shl eax, cl
mov dword [esp + 0x94], ecx
mov ebx, eax
mov dword [esp + 0xf4], eax
jmp 0x6fece0e6
cmp edx, 0xffffff81
jge 0x6feceea5
mov eax, 0xffffff82
mov ecx, 0xffffff7e
fld dword [0x707677a4]
mov dword [esp + 0xb8], eax
fsubp st(2)
fxch st(1)
xor esi, esi
mov edx, 0x7f
mov edi, 0x7f
fmul dword [esp + 0x44]
mov dword [esp + 0xc0], ecx
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], edi
fdivrp st(1)
fadd dword [0x707677b0]
fldcw word [esp + 0x13c]
fistp dword [esp + 0x138]
fldcw word [esp + 0x13e]
mov eax, dword [esp + 0x138]
cmp eax, 0x7f
cmovle edx, eax
test edx, edx
mov dword [esp + 0x15c], eax
mov eax, 0
cmovns eax, edx
cmp dword [esp + 0xc0], 0xffffff81
mov dword [esp + 0xd8], eax
jge 0x6fece629
mov eax, 0xffffff80
mov dword [esp + 0xc0], eax
jmp 0x6fece63d
xor ecx, ecx
mov dword [esp + 0xac], ecx
mov edi, dword [esp + 0xac]
jmp 0x6fece293
mov eax, dword [esp + 0xc8]
or eax, dword [esp + 0x88]
jne 0x6feced74
mov eax, dword [esp + 0x8c]
test eax, eax
jle 0x6feced74
mov edx, dword [esp + 0xac]
mov eax, edx
test al, 1
jne 0x6feced74
mov eax, dword [esp + 0x78]
jmp 0x6feced64
test dl, 1
jne 0x6feced69
sar edx, 1
dec eax
jne 0x6feced5f
mov dword [esp + 0x78], eax
mov dword [esp + 0xac], edx
cmp byte [esp + 0xb2], 0
je 0x6fecec49
movzx ecx, byte [esp + 0x78]
mov eax, 1
shl eax, cl
cmp dword [esp + 0xac], eax
jne 0x6feceda6
mov ebx, dword [esp + 0xe0]
test ebx, ebx
je 0x6fecec49
mov eax, dword [esp + 0xdc]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x104]
fild qword [esp + 0x130]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x130], eax
fild qword [esp + 0x130]
fdivp st(1)
fld dword [0x707677b8]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x6fecec49
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0xac]
mov byte [eax], 1
mov dword [eax + 8], edi
mov edi, dword [esp + 0x78]
mov dword [eax + 4], edi
mov edi, dword [esp + 0xe0]
mov dword [eax + 0xc], edi
jmp 0x6fece1ab
fadd dword [0x707677ac]
jmp 0x6fecddd3
fadd dword [0x707677ac]
jmp 0x6fece028
mov eax, dword [esp + 0x64]
mov edi, dword [eax + 0x10]
mov ebx, dword [eax + 0x24]
mov dword [esp + 0xbc], edi
mov edi, eax
mov eax, dword [esp + 0xf8]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
mov edx, eax
mov dword [esp + 0xd4], eax
mov eax, edi
jmp 0x6fece2e3
fadd dword [0x707677ac]
jmp 0x6fecdf13
fadd dword [0x707677ac]
jmp 0x6fecdef1
fadd dword [0x707677ac]
jmp 0x6fecdec2
fadd dword [0x707677ac]
jmp 0x6fecde4a
fadd dword [0x707677ac]
jmp 0x6fecde24
fadd dword [0x707677ac]
jmp 0x6fecde02
mov eax, 0x7f
mov ecx, 0x7d
fld dword [0x707677a0]
mov dword [esp + 0xb8], eax
jmp 0x6fecec92
fadd dword [0x707677ac]
jmp 0x6fece002
fadd dword [0x707677ac]
jmp 0x6fecdfe0
fadd dword [0x707677ac]
jmp 0x6fecdfb1
fadd dword [0x707677ac]
jmp 0x6fecdf39
mov edi, dword [esp + 0xb4]
mov eax, dword [edi + 0x20]
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0x24]
mov dword [edi + 0x14], eax
mov eax, dword [edi + 0x28]
mov dword [edi + 0x18], eax
mov eax, dword [edi + 0x2c]
mov dword [edi + 0x1c], eax
jmp 0x6feceaf8
xor eax, eax
mov dword [esp + 0x130], eax
jmp 0x6fece855
mov eax, dword [esp + 0xc8]
or eax, dword [esp + 0x88]
jne 0x6fecec49
mov edx, dword [esp + 0x8c]
test edx, edx
jle 0x6fecec49
mov eax, dword [esp + 0x104]
xor esi, esi
mov dword [esp + 0xe0], esi
mov dword [esp + 0xdc], eax
xor eax, eax
mov byte [esp + 0xb2], al
jmp 0x6feced4c
cmp dword [esp + 0x118], 0x10
jle 0x6fecec49
mov eax, ebx
mov edi, dword [esp + 0xd4]
xor edx, edx
shl eax, 4
mov esi, ebx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x104], edx
mov dword [esp + 0x130], eax
mov eax, 0x10
mov dword [esp + 0x128], eax
cmp dword [esp + 0x124], 0x10
mov ebx, 0x10
jle 0x6fecf006
mov eax, ebx
mov ebx, esi
mov esi, eax
lea esi, [esi]
lea edi, [edi]
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], ebx
mov dword [esp + 4], ebx
add eax, esi
mov dword [esp + 8], eax
lea eax, [edi + esi]
add esi, 0x10
mov dword [esp], eax
call dword [0x70e9d610]
add dword [esp + 0x104], eax
cmp dword [esp + 0x124], esi
jg 0x6fecefd0
mov esi, ebx
add dword [esp + 0x128], 0x10
mov ebx, dword [esp + 0x120]
add dword [esp + 0x130], ebx
mov eax, dword [esp + 0x128]
add edi, ebx
cmp dword [esp + 0x118], eax
jg 0x6fecefad
jmp 0x6fece41e
fstp st(0)
fstp st(0)
jmp 0x6fecf041
fstp st(0)
fstp st(0)
movzx ecx, byte [esp + 0x94]
mov eax, 1
shl eax, cl
mov dword [esp + 0xf4], eax
mov ebx, eax
jmp 0x6fece0e6
movzx eax, byte [esp + 0x5a0]
lea esi, [esp + 0x5a1]
mov edi, dword [ebp + 8]
mov byte [edi + 8], al
mov eax, dword [ebp + 8]
lea edi, [eax + 9]
mov eax, 0x5ff
test edi, 2
je 0x6fecebfa
movzx edx, word [esi]
add edi, 2
add esi, 2
sub eax, 2
mov word [edi - 2], dx
test edi, 4
je 0x6fecec06
mov edx, dword [esi]
add edi, 4
add esi, 4
sub eax, 4
mov dword [edi - 4], edx
jmp 0x6fecec06
mov ecx, dword [ebp + 8]
call fcn.6fdeba10
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
lea eax, [esp + 0x5a0]
mov dword [esp + 0x5c], eax
jmp 0x6fecebc4
fnstcw word [esp + 0x13e]
mov edi, dword [esp + 0xb4]
fmul dword [esp + 0x160]
mov ebx, dword [esp + 0x90]
movzx eax, word [esp + 0x13e]
fadd dword [0x707677b0]
or ax, 0xc00
mov word [esp + 0x13c], ax
fldcw word [esp + 0x13c]
fistp dword [esp + 0x138]
fldcw word [esp + 0x13e]
cmp byte [esp + 0xb1], 0
mov eax, dword [esp + 0x138]
mov dword [edi + 0xc], 0
mov dword [edi + 4], ebx
mov dword [edi + 8], eax
je 0x6fecf957
test ebx, ebx
je 0x6fecf365
cmp eax, 0x7f
jle 0x6fecf957
mov edi, dword [esp + 0x90]
sar eax, 1
lea edx, [edi - 1]
mov edi, dword [esp + 0xb4]
mov dword [edi + 4], edx
mov ecx, edi
mov dword [edi + 8], eax
test edx, edx
je 0x6fecf365
cmp eax, 0x7f
jle 0x6fecf963
dec edx
sar eax, 1
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
jmp 0x6fecf172
mov eax, dword [ebp + 8]
lea ebx, [esp + 0x1a0]
mov eax, dword [eax + 0x6b4]
mov dword [esp], ebx
mov dword [esp + 8], eax
mov eax, str.poc:__d_weights:
mov dword [esp + 4], eax
call fcn.703e2370
mov edi, dword [esp + 0x5c]
mov esi, eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x6ac], 1
setne al
movzx eax, al
inc eax
mov dword [esp + 0x128], eax
xor eax, eax
mov dword [esp + 0x130], eax
xor eax, eax
jmp 0x6fecf279
movzx ecx, byte [edi + 0x10]
movzx edx, byte [edi + 0x20]
test cl, cl
jne 0x6fecf1f1
test dl, dl
je 0x6fecf258
mov eax, dword [esp + 0x130]
mov byte [esp + 0x120], dl
mov byte [esp + 0x124], cl
mov dword [esp + 8], eax
mov eax, str.__L_d:R0
mov dword [esp + 4], eax
lea eax, [ebx + esi]
mov dword [esp], eax
call fcn.703e2370
movzx ecx, byte [esp + 0x124]
movzx edx, byte [esp + 0x120]
add esi, eax
test cl, cl
jne 0x6fecf2e5
test dl, dl
jne 0x6fecf32e
mov eax, 0x70767669
mov dword [esp + 4], eax
lea eax, [ebx + esi]
mov dword [esp], eax
call fcn.703e2370
add esi, eax
mov al, 1
inc dword [esp + 0x130]
add edi, 0x300
mov ecx, dword [esp + 0x130]
cmp ecx, dword [esp + 0x128]
je 0x6fecf96f
cmp byte [edi], 0
je 0x6fecf1e1
mov eax, dword [esp + 0x130]
mov dword [esp + 8], eax
mov eax, str.__L_d:R0
mov dword [esp + 4], eax
lea eax, [ebx + esi]
mov dword [esp], eax
call fcn.703e2370
add esi, eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x10], eax
mov eax, 1
mov ecx, dword [edi + 4]
shl eax, cl
mov dword [esp + 0xc], eax
mov eax, dword [edi + 8]
mov dword [esp + 8], eax
mov eax, str.Y_d__d_d
mov dword [esp + 4], eax
lea eax, [ebx + esi]
mov dword [esp], eax
call fcn.703e2370
movzx ecx, byte [edi + 0x10]
movzx edx, byte [edi + 0x20]
add esi, eax
test cl, cl
je 0x6fecf238
mov eax, dword [edi + 0x1c]
mov byte [esp + 0x124], dl
mov dword [esp + 0x10], eax
mov eax, 1
mov ecx, dword [edi + 0x14]
shl eax, cl
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x18]
mov dword [esp + 8], eax
mov eax, str.U_d__d_d
mov dword [esp + 4], eax
lea eax, [ebx + esi]
mov dword [esp], eax
call fcn.703e2370
movzx edx, byte [esp + 0x124]
add esi, eax
test dl, dl
je 0x6fecf240
mov eax, dword [edi + 0x2c]
mov dword [esp + 0x10], eax
mov eax, 1
mov ecx, dword [edi + 0x24]
shl eax, cl
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x28]
mov dword [esp + 8], eax
mov eax, str.V_d__d_d
mov dword [esp + 4], eax
lea eax, [ebx + esi]
mov dword [esp], eax
call fcn.703e2370
add esi, eax
jmp 0x6fecf240
xor edx, edx
mov dword [esp + 0x8c], edx
cmp eax, 0x7f
mov edx, 0x7f
cmovle edx, eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xac], edx
mov dword [eax + 8], edx
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x78], eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax + 0x84]
mov dword [esp + 0x130], eax
inc eax
cmp dword [esp + 0x54], eax
jg 0x6fecf457
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x54]
lea eax, [eax + edi + 0x7e3]
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + eax*4 + 0x44]
cmp word [eax], 0x7fff
mov dword [esp + 0x7c], eax
je 0x6fecf911
mov eax, dword [esp + 0xf8]
cmp byte [eax + 0x2d00], 0
jne 0x6fecf457
mov ebx, dword [eax + 8]
mov byte [eax + 0x2d00], 1
mov ecx, dword [esp + 0x190]
mov esi, dword [ebx + 0x18]
mov eax, dword [ebx + 0x50]
mov edi, dword [ebx + 0x1c]
shr esi, cl
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 8], esi
shr edi, cl
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x10]
mov dword [esp], eax
call fcn.6fd859a0
mov eax, dword [ebx + 0x50]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0xc], edi
mov dword [esp + 8], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x14]
mov dword [esp], eax
call fcn.6fd859a0
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x7c]
mov eax, dword [eax + 0x3c]
test ecx, ecx
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x50]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x124], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0xf8]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0xd4], eax
je 0x6fecf7a9
mov eax, dword [esp + 0xf8]
mov edx, dword [eax + 0x80]
mov edi, dword [eax + 0x50]
test edx, edx
mov dword [esp + 0x10c], edi
jle 0x6fecf8fe
mov ecx, dword [eax + 0x7c]
lea eax, [edi*8]
mov dword [esp + 0xe0], eax
xor eax, eax
mov dword [esp + 0xec], eax
xor eax, eax
mov dword [esp + 0x114], eax
xor eax, eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xdc], ebx
mov eax, dword [esp + 0xec]
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x128], eax
mov eax, 0xfffffff8
sub eax, edi
shl eax, 2
cwde
mov dword [esp + 0x11c], eax
mov eax, edx
sub eax, edi
test ecx, ecx
lea eax, [eax*4 + 0x1c]
cwde
mov dword [esp + 0x110], eax
jle 0x6fecf76f
mov edi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x114]
mov word [esp + 0x108], ax
cwde
mov dword [esp + 0x104], eax
lea edi, [edi + ebx*4]
mov dword [esp + 0x120], edi
xor edi, edi
mov dword [esp + 0x130], edi
jmp 0x6fecf603
mov esi, dword [edi + 0x50]
mov ecx, edx
and ecx, 2
mov ebx, ecx
mov ecx, eax
shr ebx, 1
and ecx, 2
sar eax, 2
or ecx, ebx
mov ebx, dword [esp + 0x128]
imul eax, esi
mov edi, dword [edi + ecx*4 + 0x3c]
sar edx, 2
add eax, ebx
add edx, eax
add edx, edi
mov eax, dword [esp + 0x10c]
mov ebx, dword [esp + 0x128]
mov dword [esp + 0xc], esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0xe8]
add eax, ebx
add ebx, 8
mov dword [esp], eax
call dword [0x70e9d770]
mov eax, dword [esp + 0xf8]
add dword [esp + 0x130], 8
inc dword [esp + 0x114]
add dword [esp + 0x120], 4
mov edi, dword [esp + 0x130]
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x128], ebx
cmp ecx, edi
jle 0x6fecf762
mov eax, dword [esp + 0x120]
movsx edx, word [eax + 2]
cmp edx, dword [esp + 0x110]
mov eax, edx
jle 0x6fecf628
movsx eax, word [esp + 0x108]
mov edx, dword [esp + 0x104]
cmp edx, dword [esp + 0x11c]
jge 0x6fecf639
movsx eax, word [esp + 0x11c]
mov edi, dword [esp + 0x130]
mov edx, 0xfffffff8
mov ebx, dword [esp + 0x120]
sub edx, edi
sub ecx, edi
movsx edi, word [ebx]
lea ecx, [ecx*4 + 0x1c]
mov ebx, ecx
movsx ecx, cx
shl edx, 2
cmp ecx, edi
jle 0x6fecf668
mov ebx, edi
mov ecx, edx
movsx esi, bx
movsx edx, dx
cmp edx, esi
jge 0x6fecf676
mov ecx, ebx
movsx edx, cx
mov edi, dword [esp + 0xf8]
mov ebx, edx
or ebx, eax
test bl, 1
je 0x6fecf570
movzx ebx, ax
mov esi, dword [edi + 0x50]
movzx ecx, cx
mov edi, ebx
and edi, 1
lea ebx, [ebx + edi*2]
movsx edi, bx
mov ebx, ecx
and ebx, 1
lea ecx, [ecx + ebx*2]
movsx ebx, cx
mov ecx, 0x20
mov dword [esp + 0x18], ecx
mov ecx, ebx
mov dword [esp + 0x100], ebx
and ecx, 2
mov ebx, edi
and ebx, 2
shr ecx, 1
or ecx, ebx
mov ebx, edi
mov edi, dword [esp + 0x128]
sar ebx, 2
mov dword [esp + 0xfc], ecx
imul ebx, esi
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x14], esi
add ebx, edi
mov edi, dword [esp + 0xf8]
sar ecx, 2
add ecx, ebx
mov ebx, dword [esp + 0xfc]
add ecx, dword [edi + ebx*4 + 0x3c]
mov ebx, eax
and ebx, 2
sar eax, 2
mov dword [esp + 0x10], ecx
mov ecx, edx
and ecx, 2
shr ecx, 1
or ecx, ebx
mov ebx, dword [esp + 0x128]
imul eax, esi
mov dword [esp + 0xc], esi
sar edx, 2
mov esi, dword [edi + ecx*4 + 0x3c]
mov edi, 8
mov dword [esp + 4], edi
add eax, ebx
add edx, eax
add edx, esi
mov esi, 8
lea eax, [esp + 0x1a0]
mov dword [esp + 8], edx
mov dword [esp], eax
call dword [0x70e9dc50]
lea edx, [esp + 0x1a0]
jmp 0x6fecf59d
mov eax, dword [esp + 0xf8]
mov edx, dword [eax + 0x80]
add dword [esp + 0xf0], 8
mov ebx, dword [esp + 0xe0]
add dword [esp + 0xec], ebx
mov eax, dword [esp + 0xf0]
cmp eax, edx
jl 0x6fecf4f3
mov eax, dword [esp + 0xe8]
mov ebx, dword [esp + 0xdc]
mov dword [esp + 0xd4], eax
cmp dword [esp + 0x118], 8
jle 0x6fecec3e
lea eax, [ebx*8]
xor ecx, ecx
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x104], ecx
mov ecx, ebx
add eax, 8
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0xbc]
add eax, 8
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x124]
lea edx, [eax - 9]
mov eax, 8
shr edx, 3
lea edi, [edx + 1]
mov dword [esp + 0x120], eax
xor eax, eax
mov dword [esp + 0x108], edi
cmp dword [esp + 0x124], 8
jle 0x6fecf8b2
mov edi, dword [esp + 0x108]
lea esi, [eax*4]
mov ebx, dword [esp + 0x11c]
add eax, edi
mov edi, dword [esp + 0x114]
mov dword [esp + 0x110], eax
shl eax, 2
mov dword [esp + 0x128], eax
lea esi, [esi]
lea edi, [edi]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], ebx
mov dword [esp + 4], ecx
mov dword [esp], edi
mov dword [esp + 0x130], ecx
call dword [0x70e9d60c]
mov edx, dword [esp + 0x184]
mov ecx, dword [esp + 0x130]
mov edx, dword [edx + esi]
cmp eax, edx
cmovge eax, edx
add esi, 4
add dword [esp + 0x104], eax
add edi, 8
add ebx, 8
cmp esi, dword [esp + 0x128]
jne 0x6fecf860
mov eax, dword [esp + 0x110]
add dword [esp + 0x120], 8
mov esi, dword [esp + 0x10c]
add dword [esp + 0x114], esi
mov edi, dword [esp + 0x120]
add dword [esp + 0x11c], esi
cmp dword [esp + 0x118], edi
jg 0x6fecf817
mov eax, dword [esp + 0xb4]
mov ebx, ecx
mov dword [esp + 0x6c], eax
mov al, 1
mov byte [esp + 0xb3], al
jmp 0x6fece429
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xd4], eax
jmp 0x6fecf7a9
mov eax, dword [edi + 0x3c]
mov dword [esp + 0xbc], eax
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax + 0x50]
mov eax, dword [eax + 0x7c]
mov dword [esp + 0x124], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x80]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0xf8]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0x7c], eax
jmp 0x6fecf7a9
mov dword [esp + 0x8c], ebx
jmp 0x6fecf36e
mov dword [esp + 0x8c], edx
jmp 0x6fecf36e
test al, al
je 0x6fecec36
cmp esi, 0x4f
jg 0x6fecf9a3
mov eax, 0x50
mov edx, 0x7076766b
sub eax, esi
mov ecx, 0x7076766d
add esi, ebx
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.703e2370
mov eax, 0x70767671
mov dword [esp + 8], eax
mov eax, 4
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0xc], ebx
mov dword [esp], eax
call fcn.6fd4e660
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret