Function at 0x484c00
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x400d4
call fcn.0068e250
mov eax, dword [0x79a200]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x40094], ebx
cmp dword [ebx + 0xbc], 0
je 0x484c44
push str.AHD_interpolation..._n
push 2
call fcn.006a8221
add esp, 4
push eax
call fcn.0040dea0
add esp, 8
xor esi, esi
nop word [eax + eax]
movd xmm0, esi
cvtdq2ps xmm0, xmm0
divss xmm0, dword [0x6f6ae8]
comiss xmm0, dword [0x6f69b4]
jbe 0x484c7e
movsd xmm1, qword [0x6f6a40]
cvtps2pd xmm0, xmm0
call fcn.006a8f50
cvtsd2ss xmm0, xmm0
jmp 0x484c8e
mulss xmm0, dword [0x6f6ab8]
addss xmm0, dword [0x6f69c0]
movss dword [ebp + esi*4 - 0x40074], xmm0
inc esi
cmp esi, 0x10000
jl 0x484c50
mov edx, dword [ebx + 0x66d0]
lea eax, [ebp - 0x74]
mov dword [ebp - 0x400a4], eax
mov esi, 0x6f4080
mov edi, 0x6f40c0
xorps xmm7, xmm7
nop dword [eax]
test edx, edx
jle 0x484d4b
movss xmm6, dword [edi]
mov ecx, eax
movsd xmm3, qword [esi - 8]
lea eax, [ebx + 0xe7d4]
movsd xmm4, qword [esi]
movsd xmm5, qword [esi + 8]
movss xmm0, dword [eax - 0x10]
xorps xmm2, xmm2
cvtps2pd xmm0, xmm0
cvtss2sd xmm2, xmm6
mulsd xmm0, xmm3
divsd xmm0, xmm2
cvtpd2ps xmm1, xmm0
movss xmm0, dword [eax]
cvtps2pd xmm0, xmm0
addss xmm1, xmm7
mulsd xmm0, xmm4
divsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
addss xmm1, xmm0
movss xmm0, dword [eax + 0x10]
cvtps2pd xmm0, xmm0
add eax, 4
mulsd xmm0, xmm5
divsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
addss xmm1, xmm0
movss dword [ecx], xmm1
add ecx, 4
sub edx, 1
jne 0x484ce2
mov eax, dword [ebp - 0x400a4]
mov edx, dword [ebx + 0x66d0]
add edi, 4
add eax, 0x10
add esi, 0x18
mov dword [ebp - 0x400a4], eax
cmp edi, 0x6f40cc
jl 0x484cc0
push 5
push ebx
call fcn.004863f0
push 0x1a0000
call fcn.006a8b3a
mov esi, eax
push str.ahd_interpolate__
push esi
push ebx
mov dword [ebp - 0x4008c], esi
call fcn.004925a0
lea eax, [esi + 0x180000]
mov edi, 2
mov dword [ebp - 0x400a4], eax
add esp, 0x18
movzx eax, word [ebx + 0x66b4]
sub eax, 5
mov dword [ebp - 0x400a0], edi
cmp eax, edi
jle 0x485ae1
movss xmm0, dword [0x776828]
movss xmm5, dword [0x6f6ad4]
movss xmm6, dword [0x6f6ac8]
movss xmm7, dword [0x6f6ad0]
nop dword [eax + eax]
movzx eax, word [ebx + 0x66b6]
mov edx, 2
sub eax, 5
mov dword [ebp - 0x40088], edx
cmp eax, edx
jle 0x485abd
mov ecx, edi
lea eax, [edi + 1]
neg ecx
mov dword [ebp - 0x400b4], eax
mov dword [ebp - 0x400c0], ecx
lea esi, [edi + 0x100]
lea ecx, [edi + 2]
mov dword [ebp - 0x400bc], esi
mov dword [ebp - 0x400c4], ecx
lea eax, [edi + 0xff]
lea ecx, [edi + 3]
mov dword [ebp - 0x400b0], eax
mov dword [ebp - 0x400c8], ecx
lea ecx, [edi + 0xfd]
mov dword [ebp - 0x400b8], ecx
nop word [eax + eax]
mov dword [ebp - 0x40098], edi
cmp dword [ebp - 0x400a0], esi
jge 0x485091
mov ecx, edx
mov eax, edx
and ecx, 1
neg eax
mov dword [ebp - 0x4009c], ecx
mov dword [ebp - 0x40084], eax
nop word [eax + eax]
movzx eax, word [ebx + 0x66b4]
sub eax, 2
cmp edi, eax
jge 0x48508b
mov esi, dword [ebx + 0x65b0]
mov eax, edi
and eax, 7
mov edx, esi
add eax, eax
add ecx, eax
add ecx, ecx
shr edx, cl
and edx, 1
add edx, dword [ebp - 0x40088]
mov ecx, edx
mov dword [ebp - 0x40090], edx
and ecx, 1
add ecx, eax
mov eax, dword [ebp - 0x40088]
add ecx, ecx
add eax, 0x100
shr esi, cl
and esi, 3
mov dword [ebp - 0x40080], esi
cmp edx, eax
jge 0x485068
nop dword [eax]
movzx ecx, word [ebx + 0x66b6]
lea eax, [ecx - 2]
cmp edx, eax
jge 0x485068
mov eax, dword [ebx + 0x66e0]
imul ecx, edi
add ecx, edx
movzx edx, word [eax + ecx*8 + 0xa]
movzx ebx, dx
mov dword [ebp - 0x40078], edx
mov edx, dword [ebp - 0x40080]
lea eax, [eax + ecx*8]
movzx esi, word [eax + esi*2]
movzx ecx, word [eax - 6]
mov edi, ecx
mov dword [ebp - 0x4007c], eax
movzx eax, word [eax + edx*2 - 0x10]
add esi, edi
add esi, ebx
add esi, esi
sub esi, eax
mov eax, dword [ebp - 0x4007c]
movzx eax, word [eax + edx*2 + 0x10]
mov edx, dword [ebp - 0x40078]
sub esi, eax
sar esi, 2
mov eax, esi
cmp cx, dx
jae 0x484f5d
cmp esi, ebx
cmovge eax, ebx
cmp edi, eax
jg 0x484f6f
mov edi, ebx
cmp esi, ebx
jmp 0x484f6c
cmp esi, edi
cmovge eax, edi
cmp ebx, eax
jle 0x484f6a
mov edi, ebx
jmp 0x484f6f
cmp esi, edi
cmovl edi, esi
mov eax, dword [ebp - 0x40090]
add eax, dword [ebp - 0x40084]
mov ecx, dword [ebp - 0x4008c]
lea eax, [eax + eax*2]
mov word [ecx + eax*2 + 2], di
mov ecx, dword [ebp - 0x40094]
mov edi, dword [ebp - 0x4007c]
mov dword [ebp - 0x400ac], eax
mov eax, edi
movzx edx, word [ecx + 0x66b6]
shl edx, 3
sub eax, edx
movzx ecx, word [edx + edi + 2]
movzx esi, word [eax + 2]
mov eax, dword [ebp - 0x40080]
sub eax, edx
movzx ebx, si
mov dword [ebp - 0x400a8], esi
mov esi, dword [ebp - 0x40080]
mov dword [ebp - 0x40078], ecx
movzx eax, word [edi + eax*2]
movzx edi, word [edi + esi*2]
add edi, ecx
add edi, ebx
add edi, edi
sub edi, eax
mov eax, esi
mov esi, dword [ebp - 0x400a8]
add eax, edx
mov edx, dword [ebp - 0x4007c]
movzx eax, word [edx + eax*2]
sub edi, eax
sar edi, 2
mov eax, edi
cmp si, cx
jae 0x48500e
cmp edi, ecx
cmovge eax, ecx
cmp ebx, eax
jg 0x485020
mov ebx, ecx
cmp edi, ecx
jmp 0x48501d
cmp edi, ebx
cmovge eax, ebx
cmp ecx, eax
jle 0x48501b
mov ebx, ecx
jmp 0x485020
cmp edi, ebx
cmovl ebx, edi
mov eax, dword [ebp - 0x400ac]
mov ecx, dword [ebp - 0x4008c]
mov edx, dword [ebp - 0x40090]
mov esi, dword [ebp - 0x40080]
add edx, 2
mov edi, dword [ebp - 0x40098]
mov word [ecx + eax*2 + 0x60002], bx
mov eax, dword [ebp - 0x40088]
mov ebx, dword [ebp - 0x40094]
add eax, 0x100
mov dword [ebp - 0x40090], edx
cmp edx, eax
jl 0x484ee0
add dword [ebp - 0x40084], 0x100
inc edi
mov ecx, dword [ebp - 0x4009c]
mov dword [ebp - 0x40098], edi
cmp edi, dword [ebp - 0x400bc]
jl 0x484e80
mov eax, dword [ebp - 0x400b0]
mov edx, dword [ebp - 0x400c0]
mov edi, 2
mov ecx, dword [ebp - 0x400b4]
mov dword [ebp - 0x40084], edx
mov dword [ebp - 0x4007c], edi
nop
mov esi, ecx
mov dword [ebp - 0x40090], esi
cmp esi, eax
jge 0x485442
lea ecx, [esi*4 + 4]
mov dword [ebp - 0x40080], ecx
nop dword [eax]
movzx eax, word [ebx + 0x66b4]
sub eax, 3
cmp esi, eax
jge 0x48542a
mov eax, dword [ebp - 0x40088]
lea edx, [eax + 1]
add eax, 0xff
mov dword [ebp - 0x40098], edx
cmp edx, eax
jge 0x48540a
mov edi, esi
mov eax, ecx
and edi, 7
add edi, edi
and eax, 0x1c
mov dword [ebp - 0x40078], edi
mov dword [ebp - 0x4009c], eax
nop word [eax + eax]
movzx ecx, word [ebx + 0x66b6]
lea eax, [ecx - 3]
cmp edx, eax
jge 0x485404
mov eax, dword [ebx + 0x66e0]
imul ecx, esi
add ecx, edx
lea ebx, [eax + ecx*8]
mov eax, dword [ebp - 0x40084]
add eax, esi
mov esi, dword [ebp - 0x4008c]
shl eax, 8
sub eax, dword [ebp - 0x40088]
add eax, edx
and edx, 1
lea eax, [eax + eax*2]
add eax, eax
lea ecx, [edi + edx]
add esi, eax
mov dword [ebp - 0x400a8], eax
mov eax, dword [ebp - 0x40094]
add ecx, ecx
mov edi, 2
mov dword [ebp - 0x400ac], ecx
mov eax, dword [eax + 0x65b0]
shr eax, cl
and eax, 3
sub edi, eax
cmp edi, 1
jne 0x485235
mov eax, dword [ebp - 0x4009c]
lea ecx, [eax + edx*2]
mov eax, dword [ebp - 0x40094]
mov edi, dword [eax + 0x65b0]
shr edi, cl
mov ecx, ebx
and edi, 3
lea eax, [edi*2 + 4]
sub ecx, eax
mov eax, 6
sub eax, edi
movzx edx, word [ecx]
mov ecx, 0xffff
movzx eax, word [ebx + eax*2]
add edx, eax
movzx eax, word [esi + 8]
sub edx, eax
movzx eax, word [esi - 4]
sub edx, eax
movzx eax, word [ebx + 2]
sar edx, 1
add edx, eax
cmp edx, ecx
cmovl ecx, edx
xor eax, eax
test ecx, ecx
cmovs ecx, eax
mov eax, 2
sub eax, edi
mov word [esi + eax*2], cx
mov eax, dword [ebp - 0x40094]
movzx ecx, word [eax + 0x66b6]
mov eax, edi
shl ecx, 2
sub eax, ecx
movzx edx, word [ebx + eax*2]
lea eax, [ecx + edi]
movzx eax, word [ebx + eax*2]
add edx, eax
movzx eax, word [esi + 0x602]
sub edx, eax
movzx eax, word [esi - 0x5fe]
sub edx, eax
movzx eax, word [ebx + 2]
sar edx, 1
jmp 0x485291
mov ecx, dword [ebp - 0x40094]
movzx eax, word [ecx + 0x66b6]
mov ecx, edi
shl eax, 2
sub ecx, eax
add eax, edi
movzx edx, word [ebx + eax*2 - 8]
movzx eax, word [ebx + eax*2 + 8]
add edx, eax
movzx eax, word [ebx + ecx*2 - 8]
add edx, eax
movzx eax, word [ebx + ecx*2 + 8]
add edx, eax
movzx eax, word [esi + 0x608]
sub edx, eax
movzx eax, word [esi - 0x604]
sub edx, eax
movzx eax, word [esi + 0x5fc]
sub edx, eax
movzx eax, word [esi - 0x5f8]
sub edx, eax
movzx eax, word [esi + 2]
inc edx
sar edx, 2
add edx, eax
movaps xmm4, xmm0
mov eax, 0xffff
movaps xmm3, xmm0
cmp edx, eax
movaps xmm2, xmm0
cmovl eax, edx
xor ecx, ecx
test eax, eax
cmovs eax, ecx
mov ecx, dword [ebp - 0x400ac]
mov word [esi + edi*2], ax
mov eax, dword [ebp - 0x40094]
mov edx, dword [eax + 0x65b0]
shr edx, cl
xor ecx, ecx
and edx, 3
mov ax, word [ebx + edx*2]
mov ebx, dword [ebp - 0x40094]
mov word [esi + edx*2], ax
mov edx, dword [ebx + 0x66d0]
test edx, edx
jle 0x485316
movzx eax, word [esi + ecx*2]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movaps xmm0, xmm1
mulss xmm0, dword [ebp + ecx*4 - 0x74]
addss xmm2, xmm0
movaps xmm0, xmm1
mulss xmm0, dword [ebp + ecx*4 - 0x64]
mulss xmm1, dword [ebp + ecx*4 - 0x54]
inc ecx
addss xmm3, xmm0
addss xmm4, xmm1
cmp ecx, edx
jl 0x4852e2
cvttss2si eax, xmm2
cmp eax, 0xffff
jge 0x48532a
xor ecx, ecx
test eax, eax
cmovs eax, ecx
jmp 0x48532f
mov eax, 0xffff
movss xmm2, dword [ebp + eax*4 - 0x40074]
cvttss2si eax, xmm3
cmp eax, 0xffff
jge 0x48534c
xor ecx, ecx
test eax, eax
cmovs eax, ecx
jmp 0x485351
mov eax, 0xffff
movss xmm1, dword [ebp + eax*4 - 0x40074]
cvttss2si ecx, xmm4
cmp ecx, 0xffff
jge 0x48536f
xor eax, eax
test ecx, ecx
cmovs ecx, eax
jmp 0x485374
mov ecx, 0xffff
mov edx, dword [ebp - 0x400a8]
subss xmm2, xmm1
mov esi, dword [ebp - 0x4008c]
movaps xmm0, xmm1
subss xmm1, dword [ebp + ecx*4 - 0x40074]
mulss xmm0, xmm5
mov edi, dword [ebp - 0x40078]
mulss xmm2, dword [0x6f6ae4]
mulss xmm1, dword [0x6f6ae0]
subss xmm0, xmm6
mulss xmm0, xmm7
cvttss2si eax, xmm0
movss xmm0, dword [0x776828]
mov word [edx + esi + 0xc0000], ax
cvttss2si eax, xmm2
mov word [edx + esi + 0xc0002], ax
cvttss2si eax, xmm1
mov word [edx + esi + 0xc0004], ax
mov edx, dword [ebp - 0x40098]
mov eax, dword [ebp - 0x40088]
inc edx
mov esi, dword [ebp - 0x40090]
add eax, 0xff
mov dword [ebp - 0x40098], edx
cmp edx, eax
jl 0x485120
mov ecx, dword [ebp - 0x40080]
mov eax, dword [ebp - 0x400b0]
inc esi
add ecx, 4
mov dword [ebp - 0x40090], esi
mov dword [ebp - 0x40080], ecx
cmp esi, eax
jl 0x4850d0
jmp 0x485430
mov eax, dword [ebp - 0x400b0]
mov edx, dword [ebp - 0x40084]
mov edi, dword [ebp - 0x4007c]
mov ecx, dword [ebp - 0x400b4]
add edx, 0x100
sub edi, 1
mov dword [ebp - 0x40084], edx
mov dword [ebp - 0x4007c], edi
jne 0x4850b0
push 0x20000
push 0
push dword [ebp - 0x400a4]
call fcn.00690e10
mov eax, dword [ebp - 0x400a0]
add esp, 0xc
mov edi, dword [ebp - 0x400c4]
add eax, 0xfe
mov dword [ebp - 0x40090], edi
cmp edi, eax
jge 0x485776
mov esi, 2
mov dword [ebp - 0x40080], esi
nop dword [eax]
movzx eax, word [ebx + 0x66b4]
sub eax, 4
cmp edi, eax
jge 0x485776
mov eax, dword [ebp - 0x40088]
lea ecx, [eax + 2]
add eax, 0xfe
mov dword [ebp - 0x40098], ecx
cmp ecx, eax
jge 0x485755
mov edx, 2
mov dword [ebp - 0x40084], edx
nop dword [eax]
movzx eax, word [ebx + 0x66b6]
sub eax, 4
cmp ecx, eax
jge 0x48574f
mov ecx, dword [ebp - 0x4008c]
mov eax, esi
shl eax, 8
add eax, edx
xor ebx, ebx
mov dword [ebp - 0x4009c], eax
mov dword [ebp - 0x4007c], ebx
lea edx, [eax + 0x2ffff]
lea edx, [eax + edx*2]
lea edx, [ecx + edx*2]
mov dword [ebp - 0x40078], edx
nop
movsx edi, word [edx + 4]
movsx eax, word [edx - 2]
mov ecx, edi
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
movsx eax, word [edx + 2]
mov dword [ebp + ebx - 0x44], ecx
movsx ebx, word [edx + 8]
mov edx, ebx
sub edx, eax
mov eax, dword [ebp - 0x40078]
imul edx, edx
movsx esi, word [eax + 6]
movsx eax, word [eax]
mov ecx, esi
sub ecx, eax
mov eax, dword [ebp - 0x40078]
imul ecx, ecx
movsx eax, word [eax + 0xa]
add ecx, edx
mov edx, dword [ebp - 0x4007c]
mov dword [ebp + edx - 0x24], ecx
mov ecx, edi
sub ecx, eax
mov eax, ecx
sar eax, 0x1f
xor ecx, eax
sub ecx, eax
mov dword [ebp + edx - 0x40], ecx
mov edx, ebx
mov ecx, dword [ebp - 0x40078]
movsx eax, word [ecx + 0xe]
sub edx, eax
movsx eax, word [ecx + 0xc]
imul edx, edx
mov ecx, esi
sub ecx, eax
mov eax, dword [ebp - 0x4007c]
imul ecx, ecx
add ecx, edx
mov edx, edi
mov dword [ebp + eax - 0x20], ecx
mov eax, dword [ebp - 0x40078]
movsx eax, word [eax - 0x5fc]
sub edx, eax
mov ecx, edx
sar ecx, 0x1f
mov eax, ecx
xor eax, edx
mov edx, ebx
sub eax, ecx
mov ecx, dword [ebp - 0x4007c]
mov dword [ebp + ecx - 0x3c], eax
mov ecx, dword [ebp - 0x40078]
movsx eax, word [ecx - 0x5f8]
sub edx, eax
movsx eax, word [ecx - 0x5fa]
mov ecx, esi
imul edx, edx
sub ecx, eax
mov eax, dword [ebp - 0x4007c]
imul ecx, ecx
add ecx, edx
mov edx, dword [ebp - 0x40078]
mov dword [ebp + eax - 0x1c], ecx
movsx eax, word [edx + 0x604]
sub edi, eax
mov eax, edi
sar eax, 0x1f
xor edi, eax
sub edi, eax
mov eax, dword [ebp - 0x4007c]
mov dword [ebp + eax - 0x38], edi
movsx eax, word [edx + 0x608]
sub ebx, eax
movsx eax, word [edx + 0x606]
sub esi, eax
imul esi, esi
imul ebx, ebx
add edx, 0x60000
mov dword [ebp - 0x40078], edx
add esi, ebx
mov ebx, dword [ebp - 0x4007c]
mov dword [ebp + ebx - 0x18], esi
add ebx, 0x10
mov dword [ebp - 0x4007c], ebx
cmp ebx, 0x20
jl 0x485520
mov esi, dword [ebp - 0x40]
mov ecx, esi
mov edx, dword [ebp - 0x44]
cmp edx, esi
mov edi, dword [ebp - 0x28]
mov eax, edi
mov ebx, dword [ebp - 0x2c]
cmova ecx, edx
cmp ebx, edi
cmova eax, ebx
cmp ecx, eax
jae 0x485688
cmp edx, esi
cmova esi, edx
jmp 0x48568f
cmp ebx, edi
mov esi, edi
cmova esi, ebx
mov edx, dword [ebp - 0x20]
mov ecx, edx
mov edi, dword [ebp - 0x24]
cmp edi, edx
mov ebx, dword [ebp - 8]
mov eax, ebx
cmova ecx, edi
cmp dword [ebp - 0xc], ebx
cmova eax, dword [ebp - 0xc]
cmp ecx, eax
jae 0x4856b3
cmp edi, edx
cmova edx, edi
jmp 0x4856bc
cmp dword [ebp - 0xc], ebx
mov edx, ebx
cmova edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x400a4]
add ecx, dword [ebp - 0x4009c]
xor eax, eax
nop word [eax + eax]
cmp dword [ebp + eax - 0x44], esi
ja 0x4856de
cmp dword [ebp + eax - 0x24], edx
ja 0x4856de
inc byte [ecx]
cmp dword [ebp + eax - 0x40], esi
ja 0x4856ec
cmp dword [ebp + eax - 0x20], edx
ja 0x4856ec
inc byte [ecx]
cmp dword [ebp + eax - 0x3c], esi
ja 0x4856fa
cmp dword [ebp + eax - 0x1c], edx
ja 0x4856fa
inc byte [ecx]
cmp dword [ebp + eax - 0x38], esi
ja 0x485708
cmp dword [ebp + eax - 0x18], edx
ja 0x485708
inc byte [ecx]
add eax, 0x10
add ecx, 0x10000
cmp eax, 0x20
jl 0x4856d0
mov ecx, dword [ebp - 0x40098]
mov edx, dword [ebp - 0x40084]
inc ecx
mov eax, dword [ebp - 0x40088]
inc edx
mov ebx, dword [ebp - 0x40094]
add eax, 0xfe
mov esi, dword [ebp - 0x40080]
mov dword [ebp - 0x40098], ecx
mov dword [ebp - 0x40084], edx
cmp ecx, eax
jl 0x4854e0
mov edi, dword [ebp - 0x40090]
mov eax, dword [ebp - 0x400a0]
inc edi
inc esi
mov dword [ebp - 0x40090], edi
add eax, 0xfe
mov dword [ebp - 0x40080], esi
cmp edi, eax
jl 0x4854a0
mov esi, dword [ebp - 0x400c8]
mov ecx, dword [ebp - 0x400b8]
mov dword [ebp - 0x40078], esi
cmp esi, ecx
jge 0x485a67
mov edi, 3
mov dword [ebp - 0x40080], edi
nop dword [eax + eax]
movzx eax, word [ebx + 0x66b4]
sub eax, 5
cmp esi, eax
jge 0x485a67
mov eax, dword [ebp - 0x40088]
lea edx, [eax + 3]
add eax, 0xfd
mov dword [ebp - 0x4007c], edx
cmp edx, eax
jge 0x485a51
mov dword [ebp - 0x40084], 3
nop dword [eax + eax]
movzx eax, word [ebx + 0x66b6]
mov dword [ebp - 0x400cc], eax
add eax, 0xfffffffb
cmp edx, eax
jge 0x485a4b
lea edx, [edi - 1]
xor eax, eax
lea esi, [ebp - 0x400d4]
mov dword [ebp - 0x400a8], edx
mov dword [ebp - 0x40090], eax
mov dword [ebp - 0x40098], esi
nop word [eax + eax]
mov edi, dword [ebp - 0x40080]
xor ebx, ebx
mov ecx, dword [ebp - 0x40084]
inc edi
mov dword [esi], ebx
cmp edx, edi
jg 0x48588f
lea edi, [ecx - 1]
mov dword [ebp - 0x4009c], edi
lea edi, [ecx + 1]
mov ecx, dword [ebp - 0x4009c]
cmp ecx, edi
jg 0x485875
mov esi, dword [ebp - 0x40098]
add eax, edx
shl eax, 8
add eax, dword [ebp - 0x400a4]
mov dword [ebp - 0x400ac], eax
movsx eax, byte [eax + ecx]
inc ecx
add ebx, eax
mov eax, dword [ebp - 0x400ac]
cmp ecx, edi
jle 0x485862
mov dword [esi], ebx
mov ecx, dword [ebp - 0x40080]
inc edx
mov eax, dword [ebp - 0x40090]
inc ecx
cmp edx, ecx
jle 0x485841
mov ecx, dword [ebp - 0x40084]
jmp 0x485892
lea edi, [ecx + 1]
mov edx, dword [ebp - 0x400a8]
add eax, 0x100
add esi, 4
mov dword [ebp - 0x40090], eax
mov dword [ebp - 0x40098], esi
cmp eax, 0x200
jl 0x485820
mov edx, dword [ebp - 0x40078]
imul edx, dword [ebp - 0x400cc]
mov esi, dword [ebp - 0x400d4]
mov ebx, dword [ebp - 0x400d0]
add edx, dword [ebp - 0x4007c]
cmp esi, ebx
je 0x485971
xor eax, eax
cmp ebx, esi
mov ebx, 0x100
cmovg eax, ebx
mov ebx, dword [ebp - 0x40094]
add eax, dword [ebp - 0x40080]
shl eax, 8
add eax, ecx
mov ecx, dword [ebx + 0x66e0]
lea esi, [eax + eax*2]
mov eax, dword [ebp - 0x4008c]
movzx eax, word [eax + esi*2]
mov word [ecx + edx*8], ax
movzx edx, word [ebx + 0x66b6]
imul edx, dword [ebp - 0x40078]
mov ecx, dword [ebx + 0x66e0]
mov eax, dword [ebp - 0x4008c]
add edx, dword [ebp - 0x4007c]
movzx eax, word [eax + esi*2 + 2]
mov word [ecx + edx*8 + 2], ax
movzx edx, word [ebx + 0x66b6]
imul edx, dword [ebp - 0x40078]
mov eax, dword [ebp - 0x4008c]
mov ecx, dword [ebx + 0x66e0]
add edx, dword [ebp - 0x4007c]
movzx eax, word [eax + esi*2 + 4]
mov esi, dword [ebp - 0x40078]
mov word [ecx + edx*8 + 4], ax
jmp 0x485a1f
mov ebx, dword [ebp - 0x40080]
mov eax, ebx
shl eax, 8
add eax, ecx
lea esi, [eax + eax*2]
lea eax, [ebx + 0x100]
mov ebx, dword [ebp - 0x4008c]
shl eax, 8
add eax, ecx
lea eax, [eax + eax*2]
movzx ecx, word [ebx + eax*2]
movzx eax, word [ebx + esi*2]
mov ebx, dword [ebp - 0x40094]
add ecx, eax
shr ecx, 1
mov eax, dword [ebx + 0x66e0]
mov word [eax + edx*8], cx
mov eax, dword [ebp - 0x4008c]
movzx ecx, word [ebx + 0x66b6]
imul ecx, dword [ebp - 0x40078]
movzx edx, word [eax + esi*2 + 0x60002]
movzx eax, word [eax + esi*2 + 2]
add edx, eax
mov eax, dword [ebx + 0x66e0]
add ecx, dword [ebp - 0x4007c]
shr edx, 1
mov word [eax + ecx*8 + 2], dx
mov eax, dword [ebp - 0x4008c]
movzx ecx, word [ebx + 0x66b6]
movzx edx, word [eax + esi*2 + 4]
movzx eax, word [eax + esi*2 + 0x60004]
mov esi, dword [ebp - 0x40078]
add edx, eax
mov eax, dword [ebx + 0x66e0]
imul ecx, esi
shr edx, 1
add ecx, dword [ebp - 0x4007c]
mov word [eax + ecx*8 + 4], dx
mov edx, dword [ebp - 0x4007c]
mov eax, dword [ebp - 0x40088]
inc edx
add eax, 0xfd
mov dword [ebp - 0x40084], edi
mov edi, dword [ebp - 0x40080]
mov dword [ebp - 0x4007c], edx
cmp edx, eax
jl 0x4857e0
mov ecx, dword [ebp - 0x400b8]
inc esi
inc edi
mov dword [ebp - 0x40078], esi
mov dword [ebp - 0x40080], edi
cmp esi, ecx
jl 0x4857a0
mov edx, dword [ebp - 0x40088]
movzx eax, word [ebx + 0x66b6]
add edx, 0xfa
movss xmm0, dword [0x776828]
sub eax, 5
movss xmm5, dword [0x6f6ad4]
cmp edx, eax
movss xmm6, dword [0x6f6ac8]
movss xmm7, dword [0x6f6ad0]
mov eax, dword [ebp - 0x400b0]
mov esi, dword [ebp - 0x400bc]
mov edi, dword [ebp - 0x400a0]
mov dword [ebp - 0x40088], edx
jl 0x484e50
movzx eax, word [ebx + 0x66b4]
add edi, 0xfa
sub eax, 5
mov dword [ebp - 0x400a0], edi
cmp edi, eax
jl 0x484de0
mov esi, dword [ebp - 0x4008c]
push esi
call fcn.0069ba2b
mov ecx, dword [ebp - 4]
add esp, 4
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.0068d76f
mov esp, ebp
pop ebp
ret