Function at 0x4284f0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x469c
call fcn.0047a320
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0x14], 0
xorps xmm0, xmm0
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x2404], edx
push edi
mov dword [ebp - 0x2418], esi
mov dword [ebp - 0x23d0], eax
movups xmmword [ebp - 0x540], xmm0
je 0x42853d
mov dword [ebp - 0x2414], 5
jmp 0x42854f
mov eax, dword [ebp + 0x10]
cdq
and edx, 3
add eax, edx
sar eax, 2
mov dword [ebp - 0x2414], eax
push dword [esi + 0x11e8]
xor eax, eax
mov dword [ebp - 0x2400], 0
mov dword [ebp - 0x23fc], eax
lea ebx, [esi + 0x1c0c]
mov dword [ebp - 0x23f8], eax
lea edi, [ebp - 0xfd0]
mov dword [ebp - 0x23f4], eax
lea edx, [esi + 0x13ea]
xor al, al
lea ecx, [esi + 0x10]
mov byte [ebp - 0x23c5], al
mov al, byte [esi + 0x120c]
inc dword [esi + 0x120c]
and al, 3
mov byte [esi + 0x12a2], al
mov eax, dword [esi + 0x11f0]
shl eax, 2
add ebx, eax
add edi, eax
mov dword [ebp - 0x23e0], ebx
mov dword [ebp - 0x23e8], edi
call fcn.00437b50
mov eax, dword [esi + 0x11e0]
add esp, 4
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*4]
mov eax, dword [esi + 0x11e8]
mov dword [ebp - 0x23e4], ebx
lea ecx, [eax - 1]
test ecx, ecx
js 0x42868b
cmp eax, 4
jl 0x428667
lea edx, [ecx - 2]
lea edx, [ebx + edx*4]
lea ebx, [ecx + 1]
shr ebx, 2
lea edi, [esi + 0x13e8]
mov eax, ebx
lea edi, [edi + ecx*2]
neg eax
lea ecx, [ecx + eax*4]
nop dword [eax]
movsx eax, word [edi + 2]
lea edi, [edi - 8]
lea edx, [edx - 0x10]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x18], xmm0
movsx eax, word [edi + 8]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x14], xmm0
movsx eax, word [edi + 6]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0x10], xmm0
movsx eax, word [edi + 4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edx + 0xc], xmm0
sub ebx, 1
jne 0x428610
mov ebx, dword [ebp - 0x23e4]
mov edi, dword [ebp - 0x23e8]
test ecx, ecx
js 0x42868b
lea edx, [esi + 0x13ea]
lea edx, [edx + ecx*2]
movsx eax, word [edx]
lea edx, [edx - 2]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebx + ecx*4], xmm0
sub ecx, 1
jns 0x428674
mov eax, dword [esi + 0x11e0]
mov ebx, dword [ebp - 0x23e0]
movss xmm1, dword [0x5ba580]
lea eax, [eax + eax*4]
movss xmm0, dword [ebx + eax*4]
addss xmm0, xmm1
movss dword [ebx + eax*4], xmm0
mov eax, dword [esi + 0x11e0]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x11e8]
sar eax, 3
add ecx, eax
movss xmm0, dword [ebx + ecx*4]
addss xmm0, xmm1
movss dword [ebx + ecx*4], xmm0
mov eax, dword [esi + 0x11e0]
mov ecx, dword [esi + 0x11e8]
sar ecx, 3
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
movss xmm0, dword [eax + ecx*8]
subss xmm0, xmm1
movss dword [eax + ecx*8], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
movss xmm0, dword [eax + ecx*4]
subss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
mov ecx, dword [esi + 0x11e8]
mov eax, dword [esi + 0x11e0]
sar ecx, 3
shl ecx, 4
add ecx, ebx
lea eax, [eax + eax*4]
movss xmm0, dword [ecx + eax*4]
addss xmm0, xmm1
movss dword [ecx + eax*4], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
add eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
movss xmm0, dword [ebx + eax*4]
addss xmm0, xmm1
movss dword [ebx + eax*4], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
movss xmm0, dword [eax + ecx*8]
subss xmm0, xmm1
movss dword [eax + ecx*8], xmm0
mov eax, dword [esi + 0x11e8]
sar eax, 3
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
lea eax, [ebx + eax*4]
movss xmm0, dword [eax + ecx*4]
subss xmm0, xmm1
movss dword [eax + ecx*4], xmm0
cmp dword [esi + 0x1248], 0
jne 0x429173
push dword [esi + 0x13e4]
lea eax, [ebp - 0xfd0]
mov ecx, esi
push ebx
push eax
lea edx, [ebp - 0x12c0]
call fcn.00437d30
add esp, 0xc
lea edx, [ebp - 0x12c0]
mov ecx, esi
push ebx
push edi
call fcn.004369d0
mov ebx, dword [ebp + 0xc]
lea edx, [ebp - 0x12c0]
push ebx
push dword [ebp - 0x23e0]
mov ecx, esi
push edi
call fcn.00438a80
add esp, 0x14
lea edx, [ebp - 0x12c0]
mov ecx, esi
push ebx
call fcn.00438010
mov ecx, dword [esi + 0x1674]
add esp, 4
lea edi, [ecx*8 + 0x5f5]
add edi, ecx
cmp dword [esi + 0x17cc], 0
lea edi, [esi + edi*4]
je 0x42898d
cmp dword [esi + 0x11b4], 0x4d
jle 0x42898d
push 0x1100
lea eax, [esi + 0x94]
mov dword [esi + ecx*4 + 0x1274], 1
push eax
lea eax, [ebp - 0x23c0]
push eax
call fcn.00459900
movups xmm0, xmmword [esi + 0x1280]
add esp, 0xc
movups xmmword [edi], xmm0
movups xmm0, xmmword [esi + 0x1290]
movups xmmword [edi + 0x10], xmm0
mov eax, dword [esi + 0x12a0]
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x11e4]
shl eax, 2
push eax
lea eax, [ebp - 0x12c0]
push eax
lea eax, [ebp - 0x520]
push eax
call fcn.00459900
mov eax, dword [esi + 0x1674]
add esp, 0xc
test eax, eax
je 0x4288bc
cmp dword [esi + eax*4 + 0x1270], 0
jne 0x4288df
mov al, byte [esi + 0x1c00]
mov edx, 0x3f
mov cl, byte [esi + 0x17d0]
mov byte [esi + 0x11bc], al
add cl, byte [edi]
cmp cl, dl
movzx eax, cl
cmovl edx, eax
mov byte [edi], dl
push dword [esi + 0x11e4]
xor eax, eax
lea ecx, [ebp - 0x530]
cmp ebx, 2
mov edx, edi
sete al
push eax
lea eax, [esi + 0x11bc]
push eax
call fcn.00437800
mov ecx, dword [esi + 0x11e4]
add esp, 0xc
xor eax, eax
test ecx, ecx
jle 0x42893e
movss xmm1, dword [0x5ba594]
nop dword [eax]
movd xmm0, dword [ebp + eax*4 - 0x530]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp + eax*4 - 0x12c0], xmm0
inc eax
cmp eax, ecx
jl 0x428920
mov eax, dword [esi + 0x1674]
lea edx, [ebp - 0x12c0]
push dword [ebp - 0x23e0]
mov ecx, esi
lea eax, [eax + eax*4]
shl eax, 6
add eax, 0x1840
add eax, esi
push eax
lea eax, [ebp - 0x23c0]
push eax
push edi
call fcn.004384c0
mov eax, dword [esi + 0x11e4]
shl eax, 2
push eax
lea eax, [ebp - 0x520]
push eax
lea eax, [ebp - 0x12c0]
push eax
call fcn.00459900
add esp, 0x1c
mov edx, dword [esi + 0x11e4]
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x23c4], 0x100
mov dword [ebp - 0x23cc], 0
mov dword [ebp - 0x23f0], 0
test edx, edx
jle 0x4289d2
nop dword [eax]
movsx eax, byte [ecx + esi + 0x1280]
inc ecx
shl edi, 8
add edi, eax
cmp ecx, edx
jl 0x4289c0
mov ebx, dword [ebp - 0x23d0]
lea eax, [esi + 0x94]
push 0x1100
push eax
lea eax, [ebp - 0x3598]
mov dword [ebp - 0x23dc], 0xffffffff
movups xmm0, xmmword [ebx]
push eax
mov dword [ebp - 0x23ec], 0xffffffff
movups xmmword [ebp - 0x2458], xmm0
movups xmm0, xmmword [ebx + 0x10]
movups xmmword [ebp - 0x2468], xmm0
movups xmm0, xmmword [ebx + 0x20]
movups xmmword [ebp - 0x2448], xmm0
call fcn.00459900
movups xmm0, xmmword [ebp - 0x2488]
mov al, byte [esi + 0x12a2]
add esp, 0xc
movups xmm1, xmmword [ebp - 0x2478]
mov byte [ebp - 0x23c6], al
movzx eax, word [esi + 0x168c]
movups xmmword [ebp - 0x2438], xmm0
mov dword [ebp - 0x2408], eax
movups xmm0, xmmword [ebp - 0x2498]
mov eax, dword [esi + 0x1688]
mov dword [ebp - 0x240c], eax
xor eax, eax
movups xmmword [ebp - 0x520], xmm1
movups xmmword [ebp - 0x2428], xmm0
mov ecx, dword [ebp - 0x23dc]
mov dword [ebp - 0x23d8], eax
cmp edi, ecx
jne 0x428a99
mov edx, dword [ebp - 0x23f4]
mov dword [ebp - 0x23d4], edx
jmp 0x428cff
cmp edi, dword [ebp - 0x23ec]
jne 0x428ab2
mov edx, dword [ebp - 0x23f8]
mov dword [ebp - 0x23d4], edx
jmp 0x428cff
test eax, eax
jle 0x428b16
movups xmm0, xmmword [ebp - 0x2458]
push 0x1100
lea eax, [ebp - 0x3598]
movups xmmword [ebx], xmm0
push eax
movups xmm0, xmmword [ebp - 0x2468]
lea eax, [esi + 0x94]
push eax
movups xmmword [ebx + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x2448]
movups xmmword [ebx + 0x20], xmm0
call fcn.00459900
mov al, byte [ebp - 0x23c6]
add esp, 0xc
mov byte [esi + 0x12a2], al
mov eax, dword [ebp - 0x2408]
mov word [esi + 0x168c], ax
mov eax, dword [ebp - 0x240c]
mov dword [esi + 0x1688], eax
push dword [ebp - 0x23e0]
lea ebx, [esi + 0x12a4]
mov ecx, esi
push ebx
lea eax, [esi + 0x94]
push eax
lea eax, [esi + 0x1280]
push eax
lea edx, [ebp - 0x12c0]
call fcn.004384c0
mov eax, dword [ebp - 0x23d0]
add esp, 0x10
cmp dword [ebp - 0x23d8], 6
jne 0x428b79
cmp dword [ebp - 0x23cc], 0
jne 0x428b79
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x2428], xmm0
movups xmm0, xmmword [eax + 0x10]
movups xmmword [ebp - 0x2438], xmm0
movups xmm0, xmmword [eax + 0x20]
movups xmmword [ebp - 0x520], xmm0
push dword [ebp + 0xc]
mov edx, eax
mov ecx, esi
push 0
push dword [esi + 0x1674]
call fcn.00429ae0
movsx eax, byte [esi + 0x129e]
add esp, 0xc
movsx edx, byte [esi + 0x129d]
push dword [esi + 0x11e8]
push ebx
mov ebx, dword [ebp - 0x23d0]
mov ecx, ebx
push eax
call fcn.0042a5e0
bsr eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
add esp, 0xc
mov ecx, dword [ebp + 0x10]
sub edx, eax
mov eax, dword [ebp - 0x23d8]
dec edx
mov dword [ebp - 0x23d4], edx
cmp eax, 6
jne 0x428ce5
cmp dword [ebp - 0x23cc], 0
jne 0x428ce5
cmp edx, ecx
jle 0x428ce5
movups xmm0, xmmword [ebp - 0x2428]
mov cl, byte [ebp - 0xfd8]
xor eax, eax
movups xmmword [ebx], xmm0
movups xmm0, xmmword [ebp - 0x2438]
movups xmmword [ebx + 0x10], xmm0
movups xmm0, xmmword [ebp - 0x520]
movups xmmword [ebx + 0x20], xmm0
mov byte [esi + 0x1c00], cl
cmp dword [esi + 0x11e4], eax
jle 0x428c41
nop dword [eax]
nop word [eax + eax]
mov byte [esi + eax + 0x1280], 4
inc eax
cmp eax, dword [esi + 0x11e4]
jl 0x428c30
mov edx, dword [ebp + 0xc]
cmp edx, 2
je 0x428c4f
mov byte [esi + 0x1280], cl
mov eax, dword [ebp - 0x2408]
mov word [esi + 0x168c], ax
mov eax, dword [ebp - 0x240c]
mov dword [esi + 0x1688], eax
xor eax, eax
cmp dword [esi + 0x11e8], eax
jle 0x428c91
nop dword [eax]
nop word [eax + eax]
mov byte [esi + eax + 0x12a4], 0
inc eax
cmp eax, dword [esi + 0x11e8]
jl 0x428c80
push edx
push 0
push dword [esi + 0x1674]
mov edx, ebx
mov ecx, esi
call fcn.00429ae0
movsx edx, byte [esi + 0x129d]
lea eax, [esi + 0x12a4]
add esp, 0xc
mov ecx, ebx
push dword [esi + 0x11e8]
push eax
movsx eax, byte [esi + 0x129e]
push eax
call fcn.0042a5e0
bsr eax, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x14]
add esp, 0xc
mov ecx, dword [ebp + 0x10]
sub edx, eax
mov eax, dword [ebp - 0x23d8]
dec edx
mov dword [ebp - 0x23d4], edx
cmp dword [ebp + 0x14], 0
jne 0x428cf9
test eax, eax
jne 0x428cf9
cmp edx, ecx
jle 0x429173
jmp 0x428d13
mov ecx, dword [ebp - 0x23dc]
cmp eax, 6
je 0x4290f4
mov ecx, dword [ebp + 0x10]
cmp edx, ecx
jle 0x428e63
cmp dword [ebp - 0x23cc], 0
jne 0x428d6b
cmp eax, 2
jl 0x428d6b
movss xmm0, dword [ebp - 0x100c]
mulss xmm0, dword [0x5ba7b8]
comiss xmm0, dword [0x5ba7b8]
jbe 0x428d44
movss dword [ebp - 0x100c], xmm0
jmp 0x428d4e
mov dword [ebp - 0x100c], 0x3fc00000
mov byte [esi + 0x129e], 0
mov dword [ebp - 0x23f0], 0
mov dword [ebp - 0x23ec], 0xffffffff
jmp 0x428d9b
cmp dword [ebp - 0x23cc], 0
mov eax, dword [ebp - 0x23c4]
cwde
mov dword [ebp - 0x23f0], 1
mov dword [ebp - 0x23f8], edx
mov dword [ebp - 0x2400], eax
mov dword [ebp - 0x23ec], edi
jne 0x428f0d
mov ecx, dword [esi + 0x11e4]
xor edx, edx
mov dword [ebp - 0x2410], edx
test ecx, ecx
jle 0x428f07
mov edi, dword [esi + 0x11ec]
xor eax, eax
mov dword [ebp - 0x23e4], eax
mov dword [ebp - 0x23e8], edi
xor ebx, ebx
cmp eax, edi
jge 0x428df9
lea ecx, [esi + 0x12a4]
add ecx, eax
sub edi, eax
movsx eax, byte [ecx]
lea ecx, [ecx + 1]
cdq
xor eax, edx
sub eax, edx
add ebx, eax
sub edi, 1
jne 0x428dd5
mov ecx, dword [esi + 0x11e4]
mov edx, dword [ebp - 0x2410]
mov edi, dword [ebp - 0x23e8]
cmp dword [ebp - 0x23d8], 0
je 0x428e21
lea eax, [ebp - 0x540]
lea eax, [eax + edx*4]
cmp ebx, dword [ebp + edx*4 - 0x550]
jge 0x428e19
cmp dword [eax], 0
je 0x428e21
mov dword [eax], 1
jmp 0x428e33
mov eax, dword [ebp - 0x23c4]
mov dword [ebp + edx*4 - 0x550], ebx
mov word [ebp + edx*2 - 0xc], ax
mov eax, dword [ebp - 0x23e4]
inc edx
mov ebx, dword [esi + 0x11ec]
add edi, ebx
add eax, ebx
mov dword [ebp - 0x2410], edx
mov dword [ebp - 0x23e8], edi
mov dword [ebp - 0x23e4], eax
cmp edx, ecx
jl 0x428dc5
jmp 0x428f07
mov eax, ecx
sub eax, dword [ebp - 0x2414]
cmp edx, eax
jge 0x429173
mov eax, dword [ebp - 0x23c4]
movsx ecx, ax
mov dword [ebp - 0x23cc], 1
mov dword [ebp - 0x23f4], edx
mov dword [ebp - 0x23fc], ecx
cmp edi, dword [ebp - 0x23dc]
je 0x428f13
movups xmm0, xmmword [ebx]
mov eax, dword [ebx + 0x18]
mov dword [ebp - 0x23dc], edi
movups xmmword [ebp - 0x2428], xmm0
movups xmm0, xmmword [ebx + 0x10]
movups xmmword [ebp - 0x2438], xmm0
movups xmm0, xmmword [ebx + 0x20]
movups xmmword [ebp - 0x520], xmm0
cmp eax, 0x4fb
ja 0x429225
push eax
push dword [ebx]
lea eax, [ebp - 0x510]
push eax
call fcn.00459900
add esp, 0xc
lea eax, [esi + 0x94]
push 0x1100
push eax
lea eax, [ebp - 0x4698]
push eax
call fcn.00459900
mov al, byte [esi + 0x1c00]
add esp, 0xc
mov byte [ebp - 0x23c5], al
mov edx, dword [ebp - 0x23d4]
mov eax, dword [ebp - 0x23c4]
mov ecx, dword [ebp - 0x23cc]
test dword [ebp - 0x23f0], ecx
jne 0x428f6c
movsx ecx, ax
cmp edx, dword [ebp + 0x10]
jle 0x428f49
lea eax, [ecx + ecx*2]
cdq
sub eax, edx
sar eax, 1
movzx ecx, ax
cmp eax, 0x400
mov eax, 0x400
cmovg ecx, eax
movzx eax, cx
jmp 0x428fcf
shl ecx, 2
mov eax, 0x66666667
imul ecx
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
movzx eax, cx
cmp ecx, 0x40
mov ecx, 0x40
cmovl eax, ecx
jmp 0x428fcc
mov eax, dword [ebp - 0x23fc]
mov edi, dword [ebp - 0x2400]
mov ecx, dword [ebp - 0x23f8]
sub edi, eax
sub ecx, dword [ebp - 0x23f4]
movzx ebx, ax
mov eax, dword [ebp + 0x10]
sub eax, dword [ebp - 0x23f4]
imul eax, edi
sar edi, 2
cdq
idiv ecx
add eax, ebx
movzx edx, ax
mov eax, dword [ebp - 0x23fc]
movsx ecx, dx
add eax, edi
mov dword [ebp - 0x23c4], edx
cmp ecx, eax
jle 0x428fba
lea eax, [edi + ebx]
jmp 0x428fcc
mov edx, dword [ebp - 0x2400]
mov eax, edx
sub eax, edi
cmp ecx, eax
jge 0x428fd5
mov eax, edx
sub eax, edi
movzx eax, ax
mov dword [ebp - 0x23c4], eax
mov ebx, dword [esi + 0x11e4]
xor edi, edi
test ebx, ebx
jle 0x42904d
mov esi, dword [ebp - 0x23c4]
nop word [eax + eax]
cmp dword [ebp + edi*4 - 0x540], 0
je 0x429001
movzx eax, word [ebp + edi*2 - 0xc]
jmp 0x429004
movzx eax, si
mov edx, dword [ebp + edi*4 - 0xfe8]
cwde
movzx ecx, dx
imul ecx, eax
sar edx, 0x10
imul eax, edx
sar ecx, 0x10
add eax, ecx
cmp eax, 0x7fffff
jle 0x42902b
mov eax, 0x7fffff
jmp 0x429038
cmp eax, 0xff800000
mov ecx, 0xff800000
cmovl eax, ecx
shl eax, 8
mov dword [ebp + edi*4 - 0x530], eax
inc edi
cmp edi, ebx
jl 0x428ff0
mov esi, dword [ebp - 0x2418]
mov al, byte [ebp - 0xfd8]
lea ecx, [esi + 0x1c00]
push dword [esi + 0x11e4]
mov byte [ecx], al
lea edx, [ebp - 0x530]
xor eax, eax
cmp dword [ebp + 0xc], 2
sete al
push eax
push ecx
lea ecx, [esi + 0x1280]
call fcn.00437620
mov edx, dword [esi + 0x11e4]
add esp, 0xc
xor edi, edi
xor ecx, ecx
test edx, edx
jle 0x4290e0
nop
movsx eax, byte [esi + ecx + 0x1280]
inc ecx
shl edi, 8
add edi, eax
cmp ecx, edx
jl 0x429090
movss xmm1, dword [0x5ba594]
xor eax, eax
nop dword [eax]
movd xmm0, dword [ebp + eax*4 - 0x530]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp + eax*4 - 0x12c0], xmm0
inc eax
cmp eax, edx
jl 0x4290b0
mov eax, dword [ebp - 0x23d8]
mov ebx, dword [ebp - 0x23d0]
inc eax
jmp 0x428a78
mov eax, dword [ebp - 0x23d8]
xor edi, edi
mov ebx, dword [ebp - 0x23d0]
inc eax
jmp 0x428a78
cmp dword [ebp - 0x23cc], 0
je 0x429173
cmp edi, ecx
je 0x429106
cmp edx, dword [ebp + 0x10]
jle 0x429173
movups xmm0, xmmword [ebp - 0x2428]
movups xmm1, xmmword [ebp - 0x520]
movups xmmword [ebx], xmm0
movups xmm0, xmmword [ebp - 0x2438]
movups xmmword [ebx + 0x10], xmm0
psrldq xmm0, 8
movd eax, xmm0
movups xmmword [ebx + 0x20], xmm1
cmp eax, 0x4fb
ja 0x429239
push eax
lea eax, [ebp - 0x510]
push eax
push dword [ebx]
call fcn.00459900
add esp, 0xc
lea eax, [ebp - 0x4698]
push 0x1100
push eax
lea eax, [esi + 0x94]
push eax
call fcn.00459900
mov al, byte [ebp - 0x23c5]
add esp, 0xc
mov byte [esi + 0x1c00], al
mov eax, dword [esi + 0x11e0]
lea eax, [eax + eax*4]
add eax, dword [esi + 0x11f0]
shl eax, 2
push eax
mov eax, dword [esi + 0x11e8]
add eax, 0x703
lea eax, [esi + eax*4]
push eax
lea eax, [esi + 0x1c0c]
push eax
call fcn.00459900
add esp, 0xc
cmp dword [esi + 0x1248], 0
je 0x4291cc
mov eax, dword [ebp - 0x2404]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00457d6e
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x11e4]
mov ecx, dword [ebp - 0x23d0]
mov dword [esi + 0x1238], 0
pop edi
mov eax, dword [ebp + eax*4 - 0x11e0]
mov dword [esi + 0x11c0], eax
mov al, byte [esi + 0x129d]
mov byte [esi + 0x11bd], al
bsr eax, dword [ecx + 0x1c]
mov ecx, dword [ecx + 0x14]
sub ecx, eax
mov eax, dword [ebp - 0x2404]
add ecx, 6
sar ecx, 3
pop esi
mov dword [eax], ecx
xor eax, eax
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.00457d6e
mov esp, ebp
pop ebp
ret
push 0x11c
mov edx, str.C:projectlibopus_silk_floatencode_frame_FLP.c
mov ecx, str.assertion_failed:_psRangeEnc__offs___1275
call fcn.004127a0
push 0xfe
mov edx, str.C:projectlibopus_silk_floatencode_frame_FLP.c
mov ecx, str.assertion_failed:_sRangeEnc_copy2.offs___1275
call fcn.004127a0
int3