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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x84
mov esi, dword [esp + 0x98]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x44], ecx
mov edi, dword [esp + 0xa0]
mov dword [esp + 0x58], esi
mov esi, eax
shr eax, 0x1f
mov ecx, dword [esp + 0xa4]
add eax, esi
and esi, 1
mov dword [esp + 0x54], edx
sar eax, 1
mov dword [esp + 0x5c], esi
mov dword [esp + 0x18], eax
mov eax, dword [0x6ca64540]
mov dword [esp + 0x48], eax
cmp eax, 3
jne 0x6ca279ca
xor eax, eax
cmp edx, 0x240
setg al
add eax, 1
mov dword [esp + 0x48], eax
cmp ebp, 0x32595559
je 0x6ca28868
jbe 0x6ca27a28
cmp ebp, 0x56555949
je 0x6ca27a40
cmp ebp, 0x59565955
je 0x6ca28040
cmp ebp, 0x55595659
je 0x6ca28fe8
mov dword [esp], ebp
call fcn.6ca14c20
mov dword [esp + 0x98], str.Unsupported_YUV_destination_format:__s
mov dword [esp + 0x9c], eax
add esp, 0x84
pop ebx
pop esi
pop edi
pop ebp
jmp fcn.6c942590
cmp ebp, 0x3231564e
je 0x6ca27a40
cmp ebp, 0x32315659
je 0x6ca27a40
cmp ebp, 0x3132564e
jne 0x6ca279f8
lea eax, [esp + 0x80]
mov dword [esp], ecx
mov ecx, edi
mov edi, dword [esp + 0x54]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x7c]
mov edx, ebp
mov dword [esp + 0x10], eax
lea eax, [esp + 0x78]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x74]
mov dword [esp + 8], eax
lea eax, [esp + 0x70]
mov dword [esp + 4], eax
mov eax, edi
call fcn.6ca276e0
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], 0
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x34], esi
lea eax, [eax + eax*4]
sub esi, dword [esp + 0x38]
mov dword [esp + 0x24], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x28], eax
test edi, edi
jle 0x6ca27b62
mov dword [esp + 0x2c], ebp
mov edi, dword [esp + 0x38]
lea esi, [esi]
test edi, edi
jle 0x6ca27b3f
mov edx, dword [esp + 0x28]
lea eax, [edx*8 + 0x6ca94c60]
movzx ebp, byte [edx*8 + 0x6ca94c60]
xor edx, edx
fld dword [eax + 4]
fld dword [eax + 8]
fld dword [eax + 0xc]
lea esi, [esi]
mov eax, dword [esi + edx*4]
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
movzx ecx, ah
movzx eax, al
mov dword [esp + 0x1c], ecx
fmul st(3)
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fmul st(3)
faddp st(1)
fild dword [esp + 0x1c]
fmul st(2)
faddp st(1)
fadd dword [0x6ca94cd8]
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, ebp
mov byte [ebx + edx], al
add edx, 1
cmp edi, edx
jne 0x6ca27ae8
fstp st(0)
fstp st(0)
fstp st(0)
add ebx, edi
add dword [esp + 0x20], 1
add ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
add esi, dword [esp + 0x58]
cmp dword [esp + 0x54], eax
jne 0x6ca27ac0
mov dword [esp + 0x70], ebx
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x80]
lea eax, [ebx + ebx]
mov dword [esp + 0x3c], eax
mov eax, esi
shr eax, 0x1f
add eax, esi
and esi, 1
sar eax, 1
mov dword [esp + 0x58], esi
mov esi, dword [esp + 0x44]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
add esi, ebx
lea ecx, [eax + 1]
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
cmp ebp, 0x32315659
je 0x6ca28072
cmp ebp, 0x56555949
je 0x6ca28072
add eax, eax
mov ecx, dword [esp + 0x34]
imul ecx, dword [esp + 0x54]
sub edx, eax
add ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x34], edx
cmp ebp, 0x3231564e
je 0x6ca28b80
cmp dword [esp + 0x54], 1
jle 0x6ca27e68
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov dword [esp + 0x30], 0
mov ebx, dword [esp + 0x48]
lea edx, [eax + eax]
mov eax, 2
cmovg eax, edx
lea ebx, [ebx + ebx*4]
mov dword [esp + 0x4c], ebx
mov ebx, esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x44]
mov esi, eax
lea esi, [esi]
xor edx, edx
cmp dword [esp + 0x38], 1
jle 0x6ca27d6d
mov eax, dword [esp + 0x4c]
xor edx, edx
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x1c]
fld dword [eax + 0x20]
fld dword [eax + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x24]
fld dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax + 0x18]
fstp dword [esp + 0x2c]
lea esi, [esi]
nop
mov ecx, dword [esi + edx*8 + 4]
mov edi, dword [esi + edx*8]
mov eax, dword [ebx + edx*8]
mov ebp, ecx
and edi, 0xff0000
and ebp, 0xff0000
add ebp, edi
mov edi, eax
and edi, 0xff0000
add edi, ebp
mov ebp, dword [ebx + edx*8 + 4]
and ebp, 0xff0000
add edi, ebp
mov ebp, ecx
movzx ecx, cl
shr edi, 0x12
and ebp, 0xff00
mov dword [esp + 0x20], edi
mov edi, dword [esi + edx*8]
fild dword [esp + 0x20]
and edi, 0xff00
add ebp, edi
mov edi, eax
movzx eax, al
and edi, 0xff00
add edi, ebp
mov ebp, dword [ebx + edx*8 + 4]
and ebp, 0xff00
add edi, ebp
shr edi, 0xa
mov dword [esp + 0x20], edi
movzx edi, byte [esi + edx*8]
fild dword [esp + 0x20]
add ecx, edi
add eax, ecx
movzx ecx, byte [ebx + edx*8 + 4]
add eax, ecx
mov ecx, dword [esp + 0x1c]
shr eax, 2
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld st(5)
fmul st(3)
fld st(5)
fmul st(3)
faddp st(1)
fld st(4)
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fxch st(3)
fmul dword [esp + 0x24]
fxch st(2)
fmul dword [esp + 0x28]
cvttss2si eax, dword [esp + 0x20]
faddp st(2)
fmul dword [esp + 0x2c]
add eax, 0xffffff80
mov byte [ecx + edx*2], al
faddp st(1)
faddp st(1)
fstp dword [esp + 0x20]
cvttss2si eax, dword [esp + 0x20]
add eax, 0xffffff80
mov byte [ecx + edx*2 + 1], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca27c60
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
add dword [esp + 0x1c], edx
mov edx, 1
test eax, eax
cmovg edx, eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x6ca28820
mov eax, dword [esi + edx*8]
mov edx, dword [ebx + edx*8]
add dword [esp + 0x30], 1
mov ecx, eax
mov edi, edx
and edi, 0xff0000
and ecx, 0xff0000
add ecx, edi
mov edi, edx
movzx edx, dl
shr ecx, 0x11
and edi, 0xff00
mov dword [esp + 0x20], ecx
mov ecx, eax
movzx eax, al
fild dword [esp + 0x20]
and ecx, 0xff00
add eax, edx
add ecx, edi
shr eax, 1
shr ecx, 9
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
fild dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x1c]
fmul st(3)
fld dword [eax + 0x20]
fmul st(3)
faddp st(1)
fld dword [eax + 0x24]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fxch st(3)
fmul dword [eax + 0x10]
fxch st(2)
fmul dword [eax + 0x14]
cvttss2si edx, dword [esp + 0x20]
faddp st(2)
fmul dword [eax + 0x18]
add edx, 0xffffff80
mov byte [ecx], dl
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [ecx + 1], al
mov eax, dword [esp + 0x34]
lea eax, [ecx + eax + 2]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
add esi, eax
add ebx, eax
mov eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x40]
jl 0x6ca27c20
cmp dword [esp + 0x54], 1
mov eax, 1
cmovg eax, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
add dword [esp + 0x44], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6ca2802b
cmp dword [esp + 0x38], 1
jle 0x6ca28fcd
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
xor edx, edx
mov edi, dword [esp + 0x44]
lea eax, [eax + eax*4]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x1c]
fld dword [eax + 0x20]
fld dword [eax + 0x24]
fld dword [eax + 0x10]
fstp dword [esp + 0x24]
fld dword [eax + 0x14]
fstp dword [esp + 0x28]
fld dword [eax + 0x18]
fstp dword [esp + 0x2c]
lea esi, [esi]
mov eax, dword [edi + edx*8]
mov ecx, dword [edi + edx*8 + 4]
mov ebx, eax
mov ebp, ecx
and ebp, 0xff0000
and ebx, 0xff0000
add ebx, ebp
mov ebp, ecx
movzx ecx, cl
shr ebx, 0x11
and ebp, 0xff00
mov dword [esp + 0x20], ebx
mov ebx, eax
movzx eax, al
fild dword [esp + 0x20]
and ebx, 0xff00
add eax, ecx
add ebx, ebp
shr eax, 1
shr ebx, 9
mov dword [esp + 0x20], ebx
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld st(5)
fmul st(3)
fld st(5)
fmul st(3)
faddp st(1)
fld st(4)
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fxch st(3)
fmul dword [esp + 0x24]
fxch st(2)
fmul dword [esp + 0x28]
cvttss2si eax, dword [esp + 0x20]
faddp st(2)
fmul dword [esp + 0x2c]
add eax, 0xffffff80
mov byte [esi + edx*2], al
faddp st(1)
faddp st(1)
fstp dword [esp + 0x20]
cvttss2si eax, dword [esp + 0x20]
add eax, 0xffffff80
mov byte [esi + edx*2 + 1], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca27eb8
fstp st(0)
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov edx, 2
lea eax, [esi + esi]
cmovle eax, edx
add dword [esp + 0x1c], eax
test esi, esi
mov eax, 1
cmovg eax, esi
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x6ca2802b
mov esi, dword [esp + 0x44]
mov eax, dword [esi + eax*8]
mov esi, dword [esp + 0x1c]
mov edx, eax
shr edx, 0x10
movzx edx, dl
mov dword [esp + 0x18], edx
movzx edx, ah
movzx eax, al
fild dword [esp + 0x18]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
fild dword [esp + 0x18]
lea eax, [eax + eax*4]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x1c]
fmul st(3)
fld dword [eax + 0x20]
fmul st(3)
faddp st(1)
fld dword [eax + 0x24]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x18]
fxch st(3)
cvttss2si edx, dword [esp + 0x18]
fmul dword [eax + 0x10]
fxch st(2)
fmul dword [eax + 0x14]
add edx, 0xffffff80
faddp st(2)
fmul dword [eax + 0x18]
mov byte [esi], dl
faddp st(1)
faddp st(1)
fstp dword [esp + 0x18]
cvttss2si eax, dword [esp + 0x18]
add eax, 0xffffff80
mov byte [esi + 1], al
add esp, 0x84
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x38]
lea edx, [eax + 1]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
shl eax, 2
cmp eax, ecx
jle 0x6ca28528
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], str.Destination_pitch_is_too_small__expected_at_least__d_n
jmp 0x6ca27a12
sub edx, eax
cmp dword [esp + 0x54], 1
mov dword [esp + 0x50], edx
jle 0x6ca28324
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x34], 0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x48]
lea eax, [eax + eax*4]
mov dword [esp + 0x4c], eax
mov eax, esi
mov esi, ebx
mov ebx, eax
xor edx, edx
cmp dword [esp + 0x38], 1
jle 0x6ca2820f
mov eax, dword [esp + 0x4c]
xor edx, edx
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fld dword [eax + 0x14]
fld dword [eax + 0x18]
fld dword [eax + 0x1c]
fstp dword [esp + 0x28]
fld dword [eax + 0x20]
fstp dword [esp + 0x2c]
fld dword [eax + 0x24]
fstp dword [esp + 0x30]
lea esi, [esi]
nop
mov ecx, dword [esi + edx*8 + 4]
mov edi, dword [esi + edx*8]
mov eax, dword [ebx + edx*8]
mov ebp, ecx
and edi, 0xff0000
and ebp, 0xff0000
add ebp, edi
mov edi, eax
and edi, 0xff0000
add edi, ebp
mov ebp, dword [ebx + edx*8 + 4]
and ebp, 0xff0000
add edi, ebp
mov ebp, ecx
movzx ecx, cl
shr edi, 0x12
and ebp, 0xff00
mov dword [esp + 0x1c], edi
mov edi, dword [esi + edx*8]
fild dword [esp + 0x1c]
and edi, 0xff00
add ebp, edi
mov edi, eax
movzx eax, al
and edi, 0xff00
add edi, ebp
mov ebp, dword [ebx + edx*8 + 4]
and ebp, 0xff00
add edi, ebp
shr edi, 0xa
mov dword [esp + 0x1c], edi
movzx edi, byte [esi + edx*8]
fild dword [esp + 0x1c]
add ecx, edi
add eax, ecx
movzx ecx, byte [ebx + edx*8 + 4]
add eax, ecx
mov ecx, dword [esp + 0x20]
shr eax, 2
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fld st(5)
fmul st(3)
fld st(5)
fmul st(3)
faddp st(1)
fld st(4)
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fxch st(3)
fmul dword [esp + 0x28]
fxch st(2)
fmul dword [esp + 0x2c]
cvttss2si eax, dword [esp + 0x1c]
faddp st(2)
fmul dword [esp + 0x30]
add eax, 0xffffff80
mov byte [ecx + edx], al
mov ecx, dword [esp + 0x24]
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [ecx + edx], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca280f0
fstp st(0)
fstp st(0)
fstp st(0)
mov edx, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov eax, 1
cmovg eax, edx
add dword [esp + 0x20], eax
add dword [esp + 0x24], eax
mov eax, edx
test edx, edx
mov edx, 1
cmovg edx, eax
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x6ca287f0
mov eax, dword [esi + edx*8]
mov edx, dword [ebx + edx*8]
add dword [esp + 0x34], 1
mov ecx, eax
mov edi, edx
and edi, 0xff0000
and ecx, 0xff0000
add ecx, edi
mov edi, edx
movzx edx, dl
shr ecx, 0x11
and edi, 0xff00
mov dword [esp + 0x1c], ecx
mov ecx, eax
movzx eax, al
fild dword [esp + 0x1c]
and ecx, 0xff00
add eax, edx
add ecx, edi
shr eax, 1
shr ecx, 9
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x4c]
fild dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fmul st(3)
fld dword [eax + 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0x18]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fxch st(3)
fmul dword [eax + 0x1c]
fxch st(2)
fmul dword [eax + 0x20]
cvttss2si edx, dword [esp + 0x1c]
faddp st(2)
fmul dword [eax + 0x24]
add edx, 0xffffff80
mov byte [ecx], dl
mov edx, dword [esp + 0x24]
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [edx], al
mov eax, dword [esp + 0x50]
add eax, 1
add ecx, eax
add edx, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x20], ecx
add esi, eax
add ebx, eax
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 0x40]
jl 0x6ca280b0
cmp dword [esp + 0x54], 1
mov eax, 1
cmovg eax, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
add dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6ca2802b
cmp dword [esp + 0x38], 1
jle 0x6ca28fd4
mov eax, dword [esp + 0x48]
mov ebp, dword [esp + 0x78]
xor edx, edx
mov edi, dword [esp + 0x74]
mov esi, dword [esp + 0x44]
lea eax, [eax + eax*4]
mov dword [esp + 0x20], ebp
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fld dword [eax + 0x14]
fld dword [eax + 0x18]
fld dword [eax + 0x1c]
fstp dword [esp + 0x24]
fld dword [eax + 0x20]
fstp dword [esp + 0x28]
fld dword [eax + 0x24]
fstp dword [esp + 0x2c]
lea esi, [esi]
mov eax, dword [esi + edx*8]
mov ecx, dword [esi + edx*8 + 4]
mov ebx, eax
mov ebp, ecx
and ebp, 0xff0000
and ebx, 0xff0000
add ebx, ebp
mov ebp, ecx
movzx ecx, cl
shr ebx, 0x11
and ebp, 0xff00
mov dword [esp + 0x1c], ebx
mov ebx, eax
movzx eax, al
fild dword [esp + 0x1c]
and ebx, 0xff00
add eax, ecx
add ebx, ebp
shr eax, 1
shr ebx, 9
mov dword [esp + 0x1c], ebx
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
fld st(5)
fmul st(3)
fld st(5)
fmul st(3)
faddp st(1)
fld st(4)
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fxch st(3)
fmul dword [esp + 0x24]
fxch st(2)
fmul dword [esp + 0x28]
cvttss2si ecx, dword [esp + 0x1c]
faddp st(2)
fmul dword [esp + 0x2c]
add ecx, 0xffffff80
mov byte [edi + edx], cl
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [ebx + edx], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca28380
fstp st(0)
fstp st(0)
fstp st(0)
mov ebp, ebx
mov ebx, dword [esp + 0x18]
xor edx, edx
cmp dword [esp + 0x38], 1
mov byte [esp + 0x1c], al
mov eax, 1
lea esi, [ebx - 1]
cmovle esi, edx
mov edx, 1
cmovg edx, ebx
test ebx, ebx
cmovg eax, dword [esp + 0x18]
mov byte [edi + esi], cl
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x1c]
lea ebx, [edi + edx]
add edx, ebp
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], edx
mov byte [ebp + esi], al
mov ebp, dword [esp + 0x5c]
test ebp, ebp
je 0x6ca2802b
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x74]
mov eax, dword [eax + esi*8]
mov edx, eax
shr edx, 0x10
movzx edx, dl
mov dword [esp + 0x18], edx
movzx edx, ah
movzx eax, al
fild dword [esp + 0x18]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
fild dword [esp + 0x18]
lea eax, [eax + eax*4]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fmul st(3)
fld dword [eax + 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0x18]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x18]
fxch st(3)
fmul dword [eax + 0x1c]
fxch st(2)
fmul dword [eax + 0x20]
cvttss2si edx, dword [esp + 0x18]
faddp st(2)
fmul dword [eax + 0x24]
add edx, 0xffffff80
mov byte [ecx], dl
mov edx, dword [esp + 0x78]
faddp st(1)
faddp st(1)
fstp dword [esp + 0x18]
cvttss2si eax, dword [esp + 0x18]
add eax, 0xffffff80
mov byte [edx], al
jmp 0x6ca2802b
sub ecx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x64], ecx
test eax, eax
jle 0x6ca2802b
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov dword [esp + 0x50], 0
mov ebp, edi
mov edi, dword [esp + 0x44]
lea edx, [eax*4]
mov eax, 4
cmovg eax, edx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x48]
lea eax, [eax + eax*4]
mov dword [esp + 0x60], eax
nop
xor eax, eax
cmp dword [esp + 0x38], 1
jle 0x6ca28710
mov esi, dword [esp + 0x60]
xor ecx, ecx
lea eax, [esi*8 + 0x6ca94c60]
movzx ebx, byte [esi*8 + 0x6ca94c60]
fld dword [eax + 0x10]
mov byte [esp + 0x4c], bl
fstp dword [esp + 0x30]
fld dword [eax + 0x14]
fstp dword [esp + 0x34]
fld dword [eax + 0x18]
fstp dword [esp + 0x3c]
fld dword [eax + 4]
fld dword [eax + 8]
fld dword [eax + 0xc]
fstp dword [esp + 0x28]
fld dword [eax + 0x1c]
fstp dword [esp + 0x40]
fld dword [eax + 0x20]
fstp dword [esp + 0x44]
fld dword [eax + 0x24]
fstp dword [esp + 0x48]
lea esi, [esi]
mov edx, dword [edi + ecx*8]
movzx esi, dh
movzx ebx, dl
mov eax, edx
mov edx, dword [edi + ecx*8 + 4]
mov dword [esp + 0x1c], esi
shr eax, 0x10
mov esi, edx
mov dword [esp + 0x20], ebx
movzx eax, al
shr esi, 0x10
mov ebx, esi
movzx esi, bl
movzx ebx, dh
movzx edx, dl
mov dword [esp + 0x24], edx
lea edx, [eax + esi]
shr edx, 1
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x1c]
fild dword [esp + 0x2c]
add edx, ebx
shr edx, 1
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x20]
add edx, dword [esp + 0x24]
fild dword [esp + 0x2c]
shr edx, 1
mov dword [esp + 0x2c], edx
fild dword [esp + 0x2c]
fld dword [esp + 0x30]
fmul st(3)
fld dword [esp + 0x34]
fmul st(3)
faddp st(1)
fld dword [esp + 0x3c]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x2c]
cvttss2si edx, dword [esp + 0x2c]
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fmul st(6)
fild dword [esp + 0x1c]
add edx, 0xffffff80
mov byte [ebp + ecx*4], dl
movzx edx, byte [esp + 0x4c]
fmul st(6)
faddp st(1)
fild dword [esp + 0x20]
fmul dword [esp + 0x28]
faddp st(1)
fadd st(1)
fstp dword [esp + 0x1c]
fxch st(3)
cvttss2si eax, dword [esp + 0x1c]
fmul dword [esp + 0x40]
fxch st(2)
fmul dword [esp + 0x44]
add eax, edx
mov byte [ebp + ecx*4 + 1], al
faddp st(2)
fmul dword [esp + 0x48]
faddp st(1)
fadd st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], esi
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], ebx
fmul st(3)
fild dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [ebp + ecx*4 + 2], al
fmul st(3)
faddp st(1)
fild dword [esp + 0x24]
fmul dword [esp + 0x28]
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, edx
mov byte [ebp + ecx*4 + 3], al
add ecx, 1
cmp dword [esp + 0x18], ecx
jg 0x6ca285d0
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x18]
add ebp, dword [esp + 0x68]
mov eax, 1
test esi, esi
cmovg eax, esi
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x6ca28848
mov eax, dword [edi + eax*8]
mov esi, dword [esp + 0x60]
add edi, dword [esp + 0x58]
mov edx, eax
shr edx, 0x10
movzx edx, dl
mov dword [esp + 0x1c], edx
movzx edx, ah
movzx eax, al
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
lea eax, [esi*8 + 0x6ca94c60]
fild dword [esp + 0x1c]
fld dword [eax + 0x10]
fmul st(3)
fld dword [eax + 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0x18]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 4]
cvttss2si edx, dword [esp + 0x1c]
fmul st(4)
fld dword [eax + 8]
add edx, 0xffffff80
mov byte [ebp], dl
fmul st(4)
faddp st(1)
fld dword [eax + 0xc]
fmul st(3)
faddp st(1)
fadd st(1)
fstp dword [esp + 0x1c]
fxch st(3)
fmul dword [eax + 0x1c]
fxch st(2)
fmul dword [eax + 0x20]
cvttss2si edx, dword [esp + 0x1c]
add dl, byte [esi*8 + 0x6ca94c60]
mov byte [ebp + 1], dl
mov byte [ebp + 3], dl
faddp st(2)
fmul dword [eax + 0x24]
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [ebp + 2], al
mov eax, dword [esp + 0x64]
add dword [esp + 0x50], 1
lea ebp, [ebp + eax + 4]
mov eax, dword [esp + 0x50]
cmp eax, dword [esp + 0x54]
jne 0x6ca28570
jmp 0x6ca2802b
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x50]
add dword [esp + 0x34], 1
add esi, eax
add ebx, eax
add dword [esp + 0x20], edx
mov eax, dword [esp + 0x34]
add dword [esp + 0x24], edx
cmp dword [esp + 0x40], eax
jg 0x6ca280b0
jmp 0x6ca282fc
mov eax, dword [esp + 0x3c]
add dword [esp + 0x30], 1
mov edx, dword [esp + 0x34]
add dword [esp + 0x1c], edx
add esi, eax
add ebx, eax
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x40], eax
jg 0x6ca27c20
jmp 0x6ca27e50
add dword [esp + 0x50], 1
add ebp, dword [esp + 0x64]
mov eax, dword [esp + 0x50]
add edi, dword [esp + 0x58]
cmp dword [esp + 0x54], eax
jne 0x6ca28570
jmp 0x6ca2802b
mov eax, dword [esp + 0x38]
lea edx, [eax + 1]
mov eax, edx
shr eax, 0x1f
add eax, edx
sar eax, 1
shl eax, 2
cmp ecx, eax
jl 0x6ca2805b
mov edx, dword [esp + 0x54]
sub ecx, eax
mov dword [esp + 0x68], ecx
test edx, edx
jle 0x6ca2802b
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov dword [esp + 0x60], 0
mov esi, edi
mov ebp, dword [esp + 0x44]
lea edx, [eax*4]
mov eax, 4
cmovg eax, edx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x48]
lea eax, [eax + eax*4]
mov dword [esp + 0x64], eax
lea esi, [esi]
xor eax, eax
cmp dword [esp + 0x38], 1
jle 0x6ca28a76
mov ebx, dword [esp + 0x64]
xor edx, edx
lea eax, [ebx*8 + 0x6ca94c60]
movzx ebx, byte [ebx*8 + 0x6ca94c60]
fld dword [eax + 4]
fld dword [eax + 8]
fld dword [eax + 0xc]
mov byte [esp + 0x2c], bl
fstp dword [esp + 0x28]
fld dword [eax + 0x10]
fstp dword [esp + 0x3c]
fld dword [eax + 0x14]
fstp dword [esp + 0x40]
fld dword [eax + 0x18]
fstp dword [esp + 0x44]
fld dword [eax + 0x1c]
fstp dword [esp + 0x48]
fld dword [eax + 0x20]
fstp dword [esp + 0x4c]
fld dword [eax + 0x24]
fstp dword [esp + 0x50]
lea esi, [esi]
mov ebx, dword [ebp + edx*8]
movzx ecx, bh
mov eax, ebx
movzx ebx, bl
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp + edx*8 + 4]
shr eax, 0x10
mov dword [esp + 0x1c], ecx
movzx eax, al
mov edi, ebx
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
shr edi, 0x10
mov ecx, edi
movzx edi, cl
fmul st(2)
movzx ecx, bh
movzx ebx, bl
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x1c]
add eax, edi
shr eax, 1
mov dword [esp + 0x30], ecx
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ebx
fild dword [esp + 0x34]
shr ecx, 1
mov dword [esp + 0x1c], ecx
fmul st(2)
faddp st(1)
fild dword [esp + 0x20]
fmul dword [esp + 0x28]
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x34]
cvttss2si ebx, dword [esp + 0x34]
add bl, byte [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x24]
fild dword [esp + 0x34]
mov byte [esi + edx*4], bl
shr eax, 1
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fld dword [esp + 0x3c]
fmul st(3)
fld dword [esp + 0x40]
fmul st(3)
faddp st(1)
fld dword [esp + 0x44]
fmul st(2)
faddp st(1)
fadd st(4)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [esi + edx*4 + 1], al
mov dword [esp + 0x1c], edi
fild dword [esp + 0x1c]
fmul st(6)
fild dword [esp + 0x30]
fmul st(6)
faddp st(1)
fild dword [esp + 0x24]
fmul dword [esp + 0x28]
faddp st(1)
fadd st(4)
fstp dword [esp + 0x1c]
fxch st(2)
fmul dword [esp + 0x48]
fxch st(1)
fmul dword [esp + 0x4c]
cvttss2si eax, dword [esp + 0x1c]
add al, byte [esp + 0x2c]
mov byte [esi + edx*4 + 2], al
faddp st(1)
fxch st(1)
fmul dword [esp + 0x50]
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [esi + edx*4 + 3], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca28930
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0x18]
add esi, dword [esp + 0x6c]
mov eax, 1
test ebx, ebx
cmovg eax, ebx
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x6ca28b60
mov eax, dword [ebp + eax*8]
mov ebx, dword [esp + 0x64]
add ebp, dword [esp + 0x58]
mov edx, eax
shr edx, 0x10
movzx edx, dl
mov dword [esp + 0x1c], edx
movzx edx, ah
movzx eax, al
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
lea eax, [ebx*8 + 0x6ca94c60]
fild dword [esp + 0x1c]
fld dword [eax + 4]
fmul st(3)
fld dword [eax + 8]
fmul st(3)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 0x10]
cvttss2si edx, dword [esp + 0x1c]
add dl, byte [ebx*8 + 0x6ca94c60]
mov byte [esi], dl
fmul st(4)
fld dword [eax + 0x14]
mov byte [esi + 2], dl
fmul st(4)
faddp st(1)
fld dword [eax + 0x18]
fmul st(3)
faddp st(1)
fadd st(1)
fstp dword [esp + 0x1c]
fxch st(3)
fmul dword [eax + 0x1c]
fxch st(2)
fmul dword [eax + 0x20]
cvttss2si ecx, dword [esp + 0x1c]
faddp st(2)
fmul dword [eax + 0x24]
add ecx, 0xffffff80
mov byte [esi + 1], cl
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [esi + 3], al
mov eax, dword [esp + 0x68]
add dword [esp + 0x60], 1
lea esi, [esi + eax + 4]
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x54]
jne 0x6ca288d0
jmp 0x6ca2802b
add dword [esp + 0x60], 1
add esi, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
add ebp, dword [esp + 0x58]
cmp dword [esp + 0x54], eax
jne 0x6ca288d0
jmp 0x6ca2802b
cmp dword [esp + 0x54], 1
jle 0x6ca28e08
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov dword [esp + 0x30], 0
mov ebx, dword [esp + 0x44]
lea edx, [eax + eax]
mov eax, 2
cmovg eax, edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x48]
lea eax, [eax + eax*4]
mov dword [esp + 0x4c], eax
mov eax, esi
mov esi, ebx
mov ebx, eax
xor edx, edx
cmp dword [esp + 0x38], 1
jle 0x6ca28d0d
mov eax, dword [esp + 0x4c]
xor edx, edx
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fld dword [eax + 0x14]
fld dword [eax + 0x18]
fld dword [eax + 0x1c]
fstp dword [esp + 0x24]
fld dword [eax + 0x20]
fstp dword [esp + 0x28]
fld dword [eax + 0x24]
fstp dword [esp + 0x2c]
lea esi, [esi]
nop
mov ecx, dword [esi + edx*8 + 4]
mov edi, dword [esi + edx*8]
mov eax, dword [ebx + edx*8]
mov ebp, ecx
and edi, 0xff0000
and ebp, 0xff0000
add ebp, edi
mov edi, eax
and edi, 0xff0000
add edi, ebp
mov ebp, dword [ebx + edx*8 + 4]
and ebp, 0xff0000
add edi, ebp
mov ebp, ecx
movzx ecx, cl
shr edi, 0x12
and ebp, 0xff00
mov dword [esp + 0x20], edi
mov edi, dword [esi + edx*8]
fild dword [esp + 0x20]
and edi, 0xff00
add ebp, edi
mov edi, eax
movzx eax, al
and edi, 0xff00
add edi, ebp
mov ebp, dword [ebx + edx*8 + 4]
and ebp, 0xff00
add edi, ebp
shr edi, 0xa
mov dword [esp + 0x20], edi
movzx edi, byte [esi + edx*8]
fild dword [esp + 0x20]
add ecx, edi
add eax, ecx
movzx ecx, byte [ebx + edx*8 + 4]
add eax, ecx
mov ecx, dword [esp + 0x1c]
shr eax, 2
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld st(5)
fmul st(3)
fld st(5)
fmul st(3)
faddp st(1)
fld st(4)
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fxch st(3)
fmul dword [esp + 0x24]
fxch st(2)
fmul dword [esp + 0x28]
cvttss2si eax, dword [esp + 0x20]
faddp st(2)
fmul dword [esp + 0x2c]
add eax, 0xffffff80
mov byte [ecx + edx*2], al
faddp st(1)
faddp st(1)
fstp dword [esp + 0x20]
cvttss2si eax, dword [esp + 0x20]
add eax, 0xffffff80
mov byte [ecx + edx*2 + 1], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca28c00
fstp st(0)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
add dword [esp + 0x1c], edx
mov edx, 1
test eax, eax
cmovg edx, eax
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x6ca28fc0
mov eax, dword [esi + edx*8]
mov edx, dword [ebx + edx*8]
mov ecx, eax
mov edi, edx
and edi, 0xff0000
and ecx, 0xff0000
add ecx, edi
mov edi, edx
movzx edx, dl
shr ecx, 0x11
and edi, 0xff00
mov dword [esp + 0x20], ecx
mov ecx, eax
movzx eax, al
fild dword [esp + 0x20]
and ecx, 0xff00
add eax, edx
add ecx, edi
shr eax, 1
shr ecx, 9
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x4c]
fild dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fmul st(3)
fld dword [eax + 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0x18]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fxch st(3)
fmul dword [eax + 0x1c]
fxch st(2)
fmul dword [eax + 0x20]
cvttss2si edx, dword [esp + 0x20]
faddp st(2)
fmul dword [eax + 0x24]
add edx, 0xffffff80
mov byte [ecx], dl
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [ecx + 1], al
mov eax, dword [esp + 0x34]
lea eax, [ecx + eax + 2]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
add dword [esp + 0x30], 1
add esi, eax
add ebx, eax
mov eax, dword [esp + 0x30]
cmp dword [esp + 0x40], eax
jg 0x6ca28bc0
cmp dword [esp + 0x54], 1
mov eax, 1
cmovg eax, dword [esp + 0x40]
imul eax, dword [esp + 0x3c]
add dword [esp + 0x44], eax
mov ecx, dword [esp + 0x58]
test ecx, ecx
je 0x6ca2802b
cmp dword [esp + 0x38], 1
jle 0x6ca28fe1
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
xor edx, edx
mov edi, dword [esp + 0x44]
lea eax, [eax + eax*4]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fld dword [eax + 0x14]
fld dword [eax + 0x18]
fld dword [eax + 0x1c]
fstp dword [esp + 0x24]
fld dword [eax + 0x20]
fstp dword [esp + 0x28]
fld dword [eax + 0x24]
fstp dword [esp + 0x2c]
mov eax, dword [edi + edx*8]
mov ecx, dword [edi + edx*8 + 4]
mov ebx, eax
mov ebp, ecx
and ebp, 0xff0000
and ebx, 0xff0000
add ebx, ebp
mov ebp, ecx
movzx ecx, cl
shr ebx, 0x11
and ebp, 0xff00
mov dword [esp + 0x20], ebx
mov ebx, eax
movzx eax, al
fild dword [esp + 0x20]
and ebx, 0xff00
add eax, ecx
add ebx, ebp
shr eax, 1
shr ebx, 9
mov dword [esp + 0x20], ebx
fild dword [esp + 0x20]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fld st(5)
fmul st(3)
fld st(5)
fmul st(3)
faddp st(1)
fld st(4)
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x20]
fxch st(3)
fmul dword [esp + 0x24]
fxch st(2)
fmul dword [esp + 0x28]
cvttss2si eax, dword [esp + 0x20]
faddp st(2)
fmul dword [esp + 0x2c]
add eax, 0xffffff80
mov byte [esi + edx*2], al
faddp st(1)
faddp st(1)
fstp dword [esp + 0x20]
cvttss2si eax, dword [esp + 0x20]
add eax, 0xffffff80
mov byte [esi + edx*2 + 1], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca28e55
fstp st(0)
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov edx, 2
lea eax, [esi + esi]
cmovle eax, edx
add dword [esp + 0x1c], eax
test esi, esi
mov eax, 1
cmovg eax, esi
mov edx, dword [esp + 0x5c]
test edx, edx
je 0x6ca2802b
mov esi, dword [esp + 0x44]
mov eax, dword [esi + eax*8]
mov esi, dword [esp + 0x1c]
mov edx, eax
shr edx, 0x10
movzx edx, dl
mov dword [esp + 0x18], edx
movzx edx, ah
movzx eax, al
fild dword [esp + 0x18]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
fild dword [esp + 0x18]
lea eax, [eax + eax*4]
lea eax, [eax*8 + 0x6ca94c60]
fld dword [eax + 0x10]
fmul st(3)
fld dword [eax + 0x14]
fmul st(3)
faddp st(1)
fld dword [eax + 0x18]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x18]
fxch st(3)
cvttss2si edx, dword [esp + 0x18]
fmul dword [eax + 0x1c]
fxch st(2)
fmul dword [eax + 0x20]
add edx, 0xffffff80
faddp st(2)
mov byte [esi], dl
fmul dword [eax + 0x24]
jmp 0x6ca28017
mov edx, dword [esp + 0x34]
add dword [esp + 0x1c], edx
jmp 0x6ca28dd5
xor eax, eax
jmp 0x6ca27f91
mov dword [esp + 0x18], 0
jmp 0x6ca28482
xor eax, eax
jmp 0x6ca28f2e
mov eax, dword [esp + 0x38]
mov ebx, 2
add eax, 1
cdq
idiv ebx
shl eax, 2
cmp ecx, eax
jl 0x6ca2805b
sub ecx, eax
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x54]
test ecx, ecx
jle 0x6ca2802b
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x38], 1
mov dword [esp + 0x60], 0
mov esi, edi
mov ebp, dword [esp + 0x44]
lea edx, [eax*4]
mov eax, 4
cmovg eax, edx
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x48]
lea eax, [eax + eax*4]
mov dword [esp + 0x64], eax
lea esi, [esi]
xor eax, eax
cmp dword [esp + 0x38], 1
jle 0x6ca291f6
mov ebx, dword [esp + 0x64]
xor edx, edx
lea eax, [ebx*8 + 0x6ca94c60]
movzx ebx, byte [ebx*8 + 0x6ca94c60]
fld dword [eax + 4]
fld dword [eax + 8]
fld dword [eax + 0xc]
mov byte [esp + 0x2c], bl
fstp dword [esp + 0x28]
fld dword [eax + 0x1c]
fstp dword [esp + 0x3c]
fld dword [eax + 0x20]
fstp dword [esp + 0x40]
fld dword [eax + 0x24]
fstp dword [esp + 0x44]
fld dword [eax + 0x10]
fstp dword [esp + 0x48]
fld dword [eax + 0x14]
fstp dword [esp + 0x4c]
fld dword [eax + 0x18]
fstp dword [esp + 0x50]
lea esi, [esi]
mov ebx, dword [ebp + edx*8]
movzx ecx, bh
mov eax, ebx
movzx ebx, bl
mov dword [esp + 0x20], ebx
mov ebx, dword [ebp + edx*8 + 4]
shr eax, 0x10
mov dword [esp + 0x1c], ecx
movzx eax, al
mov edi, ebx
mov dword [esp + 0x34], eax
fild dword [esp + 0x34]
shr edi, 0x10
mov ecx, edi
movzx edi, cl
fmul st(2)
movzx ecx, bh
movzx ebx, bl
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x1c]
add eax, edi
shr eax, 1
mov dword [esp + 0x30], ecx
add ecx, dword [esp + 0x1c]
mov dword [esp + 0x34], ebx
fild dword [esp + 0x34]
shr ecx, 1
mov dword [esp + 0x1c], ecx
fmul st(2)
faddp st(1)
fild dword [esp + 0x20]
fmul dword [esp + 0x28]
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x34]
cvttss2si ebx, dword [esp + 0x34]
add bl, byte [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x20]
add eax, dword [esp + 0x24]
fild dword [esp + 0x34]
mov byte [esi + edx*4], bl
shr eax, 1
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fld dword [esp + 0x3c]
fmul st(3)
fld dword [esp + 0x40]
fmul st(3)
faddp st(1)
fld dword [esp + 0x44]
fmul st(2)
faddp st(1)
fadd st(4)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [esi + edx*4 + 1], al
mov dword [esp + 0x1c], edi
fild dword [esp + 0x1c]
fmul st(6)
fild dword [esp + 0x30]
fmul st(6)
faddp st(1)
fild dword [esp + 0x24]
fmul dword [esp + 0x28]
faddp st(1)
fadd st(4)
fstp dword [esp + 0x1c]
fxch st(2)
fmul dword [esp + 0x48]
fxch st(1)
fmul dword [esp + 0x4c]
cvttss2si eax, dword [esp + 0x1c]
add al, byte [esp + 0x2c]
mov byte [esi + edx*4 + 2], al
faddp st(1)
fxch st(1)
fmul dword [esp + 0x50]
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [esi + edx*4 + 3], al
add edx, 1
cmp dword [esp + 0x18], edx
jg 0x6ca290b0
fstp st(0)
fstp st(0)
mov ebx, dword [esp + 0x18]
add esi, dword [esp + 0x6c]
mov eax, 1
test ebx, ebx
cmovg eax, ebx
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x6ca292e0
mov eax, dword [ebp + eax*8]
mov ebx, dword [esp + 0x64]
add ebp, dword [esp + 0x58]
mov edx, eax
shr edx, 0x10
movzx edx, dl
mov dword [esp + 0x1c], edx
movzx edx, ah
movzx eax, al
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
lea eax, [ebx*8 + 0x6ca94c60]
fild dword [esp + 0x1c]
fld dword [eax + 4]
fmul st(3)
fld dword [eax + 8]
fmul st(3)
faddp st(1)
fld dword [eax + 0xc]
fmul st(2)
faddp st(1)
fld dword [0x6ca94cd8]
fadd st(1), st(0)
fxch st(1)
fstp dword [esp + 0x1c]
fld dword [eax + 0x1c]
cvttss2si edx, dword [esp + 0x1c]
add dl, byte [ebx*8 + 0x6ca94c60]
mov byte [esi], dl
fmul st(4)
fld dword [eax + 0x20]
mov byte [esi + 2], dl
fmul st(4)
faddp st(1)
fld dword [eax + 0x24]
fmul st(3)
faddp st(1)
fadd st(1)
fstp dword [esp + 0x1c]
fxch st(3)
fmul dword [eax + 0x10]
fxch st(2)
fmul dword [eax + 0x14]
cvttss2si ecx, dword [esp + 0x1c]
faddp st(2)
fmul dword [eax + 0x18]
add ecx, 0xffffff80
mov byte [esi + 1], cl
faddp st(1)
faddp st(1)
fstp dword [esp + 0x1c]
cvttss2si eax, dword [esp + 0x1c]
add eax, 0xffffff80
mov byte [esi + 3], al
mov eax, dword [esp + 0x68]
add dword [esp + 0x60], 1
lea esi, [esi + eax + 4]
mov eax, dword [esp + 0x60]
cmp eax, dword [esp + 0x54]
jne 0x6ca29050
jmp 0x6ca2802b
add dword [esp + 0x60], 1
add esi, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
add ebp, dword [esp + 0x58]
cmp dword [esp + 0x54], eax
jne 0x6ca29050
jmp 0x6ca2802b