Function at 0x436250
Capabilities:
Encode data using xor

Disassembly:
push r15
mov eax, 0x35f8
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
call fcn.004582d0
sub rsp, rax
movaps xmmword [rsp + 0x35d0], xmm6
movaps xmmword [rsp + 0x35e0], xmm7
mov eax, dword [rcx + 0x120c]
movsxd rsi, dword [rcx + 0x11f0]
shl rsi, 2
mov qword [rsp + 0x3648], rdx
lea edx, [rax + 1]
and eax, 3
mov rbx, rcx
mov byte [rcx + 0x12b2], al
mov r13, r8
lea rax, [rcx + 0x1c24]
mov r8d, dword [rbx + 0x11e8]
mov dword [rcx + 0x120c], edx
lea rdi, [rax + rsi]
lea rdx, [rcx + 0x13fa]
lea rcx, [rcx + 0x10]
mov dword [rsp + 0x3658], r9d
mov qword [rsp + 0x80], rax
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xc8], 0
mov qword [rsp + 0x60], rdi
call fcn.0043d8d0
mov eax, dword [rbx + 0x11e0]
movsxd r9, dword [rbx + 0x11e8]
lea r8d, [rax + rax*4]
lea edx, [r9 - 1]
movsxd r11, r8d
movsxd rax, edx
lea rcx, [rdi + r11*4]
test edx, edx
js 0x43633d
nop dword [rax]
movsx edx, word [rbx + rax*2 + 0x13fa]
pxor xmm0, xmm0
cvtsi2ss xmm0, edx
movss dword [rcx + rax*4], xmm0
sub rax, 1
test eax, eax
jns 0x436320
mov r10d, r9d
mov rax, qword [rsp + 0x60]
movss xmm1, dword [0x004751e8]
xor edx, edx
sar r10d, 3
movsxd r10, r10d
lea rcx, [rax + r11*4]
mov r11d, 1
shl r10, 2
mov eax, edx
mov edi, r11d
pxor xmm0, xmm0
add edx, 1
and eax, 2
sub edi, eax
cvtsi2ss xmm0, edi
mulss xmm0, xmm1
addss xmm0, dword [rcx]
movss dword [rcx], xmm0
add rcx, r10
cmp edx, 8
jne 0x436364
mov r10d, dword [rbx + 0x1248]
test r10d, r10d
je 0x4363f0
add r8d, dword [rbx + 0x11f0]
mov rcx, qword [rsp + 0x80]
lea rdx, [rbx + r9*4 + 0x1c24]
movsxd r8, r8d
shl r8, 2
call sub.msvcrt.dll_memmove
mov rax, qword [rsp + 0x3648]
mov dword [rax], 0
movaps xmm6, xmmword [rsp + 0x35d0]
movaps xmm7, xmmword [rsp + 0x35e0]
xor eax, eax
add rsp, 0x35f8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [rbx + 0x13f4]
mov rdi, qword [rsp + 0x60]
mov rcx, rbx
lea r12, [rsp + 0x160]
lea r8, [rsp + 0x950]
mov rdx, r12
mov dword [rsp + 0x20], eax
add rsi, r8
mov r9, rdi
call fcn.004371b0
mov r9, rdi
mov r8, rsi
mov rdx, r12
mov rcx, rbx
call fcn.00437eb0
mov r9, rdi
mov r8, rsi
mov rdx, r12
mov eax, dword [rsp + 0x3658]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.004374f0
mov r8d, dword [rsp + 0x3658]
mov rdx, r12
mov rcx, rbx
call fcn.00438ba0
lea rax, [rbx + 0x94]
mov r9d, dword [rbx + 0x17e0]
mov qword [rsp + 0x78], rax
lea rax, [rbx + 0x1290]
mov qword [rsp + 0x50], rax
test r9d, r9d
jne 0x4368db
lea rax, [rsp + 0x13d0]
mov esi, dword [rbx + 0x11e4]
mov qword [rsp + 0x88], rax
mov rcx, qword [rsp + 0x50]
mov edx, esi
xor r14d, r14d
mov ebp, 0x100
call fcn.0043d8a0
mov ecx, 0x220
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
rep movsq qword [rdi], qword [rsi]
movdqu xmm7, xmmword [r13]
mov rdx, qword [r13 + 0x30]
mov r15d, eax
movzx edi, byte [rbx + 0x12b2]
movdqu xmm4, xmmword [r13 + 0x10]
mov dword [rsp + 0x74], 0
movaps xmmword [rsp + 0xe0], xmm7
movzx esi, word [rbx + 0x169c]
movdqu xmm7, xmmword [r13 + 0x20]
mov byte [rsp + 0x9f], dil
mov edi, dword [rbx + 0x1698]
movaps xmmword [rsp + 0x100], xmm7
movss xmm6, dword [0x004751ec]
movss xmm7, dword [0x004751e4]
mov dword [rsp + 0x98], edi
mov edi, 0xffffffff
movaps xmmword [rsp + 0xf0], xmm4
mov qword [rsp + 0x110], rdx
mov word [rsp + 0x9c], si
mov dword [rsp + 0x70], 0
mov dword [rsp + 0x6c], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x5c], 0
mov byte [rsp + 0x9e], 0
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x30], edi
cmp r15d, dword [rsp + 0x30]
je 0x4367c9
nop dword [rax + rax]
cmp r15d, dword [rsp + 0x68]
je 0x436b23
lea rax, [rbx + 0x12b4]
test r14d, r14d
jne 0x436c90
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rdx, r12
mov rcx, rbx
mov r9, qword [rsp + 0x78]
mov r8, qword [rsp + 0x50]
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x28], rdi
call fcn.00439520
xor r9d, r9d
mov rdx, r13
mov rcx, rbx
mov eax, dword [rsp + 0x3658]
mov r8d, dword [rbx + 0x1684]
mov dword [rsp + 0x20], eax
call fcn.00431790
mov ecx, dword [rbx + 0x11e8]
mov rax, qword [rsp + 0x90]
movsx edx, byte [rbx + 0x12ad]
movsx r8d, byte [rbx + 0x12ae]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rcx, r13
call fcn.00431c30
bsr eax, dword [r13 + 0x20]
mov edx, dword [r13 + 0x18]
mov ecx, dword [rsp + 0x3668]
xor eax, 0x1f
lea r8d, [rax + rdx - 0x20]
test ecx, ecx
jne 0x4367d8
cmp dword [rsp + 0x3660], r8d
jge 0x436a90
movzx eax, byte [rsp + 0x4c]
mov dword [rsp + 0x6c], r8d
mov r11d, dword [rbx + 0x11e4]
xor eax, 1
movsx edi, bp
mov dword [rsp + 0x74], edi
test al, al
jne 0x4370d2
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x68], r15d
test eax, eax
je 0x437078
mov edi, dword [rsp + 0x70]
mov esi, dword [rsp + 0x58]
mov ecx, dword [rsp + 0x74]
mov eax, dword [rsp + 0x3660]
mov r8d, dword [rsp + 0x6c]
sub ecx, edi
sub eax, esi
imul eax, ecx
sub r8d, esi
mov esi, edi
cdq
idiv r8d
lea ebp, [rsi + rax]
mov eax, ecx
sar eax, 2
movsx edx, bp
lea ecx, [rax + rdi]
cmp edx, ecx
jle 0x436c60
mov dword [rsp + 0x4c], 1
lea ebp, [rdi + rax]
mov dword [rsp + 0x5c], 1
test r11d, r11d
jle 0x436c3c
xor edx, edx
lea rcx, [rsp + 0xc0]
lea rsi, [rsp + 0xb0]
mov r8d, 0x80000000
mov r10d, dword [rcx + rdx*4]
movsx r9, bp
test r10d, r10d
je 0x43670d
movsx r9, word [rsp + rdx*2 + 0xa8]
movsxd rax, dword [r12 + rdx*4 + 0x2d8]
imul rax, r9
mov r9d, 0x7fffff00
sar rax, 0x10
cmp rax, 0x7fffff
jg 0x43673c
mov r9d, eax
shl r9d, 8
cmp rax, 0xffffffffff7fffff
cmovle r9d, r8d
mov dword [rsi + rdx*4], r9d
add rdx, 1
cmp r11d, edx
jg 0x4366f7
mov rdi, qword [rsp + 0x50]
mov dword [rsp + 0x20], r11d
xor r9d, r9d
mov rdx, rsi
movzx eax, byte [rsp + 0x448]
cmp dword [rsp + 0x3658], 2
lea r8, [rbx + 0x1c18]
sete r9b
mov rcx, rdi
mov byte [rbx + 0x1c18], al
call fcn.0043d640
mov edx, dword [rbx + 0x11e4]
mov rcx, rdi
call fcn.0043d8a0
mov edx, dword [rbx + 0x11e4]
mov r15d, eax
xor eax, eax
test edx, edx
jle 0x4367ba
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rsi + rax*4]
mulss xmm0, xmm6
movss dword [r12 + rax*4], xmm0
add rax, 1
cmp edx, eax
jg 0x43679f
add r14d, 1
cmp r15d, dword [rsp + 0x30]
jne 0x436590
mov r8d, dword [rsp + 0x58]
cmp r14d, 6
je 0x436a66
cmp dword [rsp + 0x3660], r8d
jl 0x436b30
mov eax, dword [rsp + 0x3660]
sub eax, 5
cmp eax, r8d
jle 0x436a90
movsx eax, bp
mov dword [rsp + 0x70], eax
cmp r15d, dword [rsp + 0x30]
je 0x4368be
movdqu xmm5, xmmword [r13]
mov rax, qword [r13 + 0x30]
movdqu xmm2, xmmword [r13 + 0x20]
movaps xmmword [rsp + 0x120], xmm5
movdqu xmm5, xmmword [r13 + 0x10]
mov qword [rsp + 0x150], rax
mov eax, dword [r13 + 0x1c]
movaps xmmword [rsp + 0x130], xmm5
movaps xmmword [rsp + 0x140], xmm2
cmp eax, 0x4fb
ja 0x43710e
lea rdi, [rsp + 0x450]
mov rsi, qword [r13]
cmp eax, 8
jb 0x436869
mov ecx, eax
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
xor edx, edx
test al, 4
je 0x436878
mov edx, dword [rsi]
mov dword [rdi], edx
mov edx, 4
test al, 2
je 0x436888
movzx ecx, word [rsi + rdx]
mov word [rdi + rdx], cx
add rdx, 2
test al, 1
je 0x436893
movzx eax, byte [rsi + rdx]
mov byte [rdi + rdx], al
mov ecx, 0x220
mov rsi, qword [rsp + 0x78]
mov dword [rsp + 0x30], r15d
lea rax, [rsp + 0x24d0]
mov rdi, rax
movzx eax, byte [rbx + 0x1c18]
rep movsq qword [rdi], qword [rsi]
mov byte [rsp + 0x9e], al
mov edx, dword [rsp + 0x5c]
test edx, edx
je 0x436f33
mov r11d, dword [rbx + 0x11e4]
mov dword [rsp + 0x58], r8d
jmp 0x436685
cmp dword [rbx + 0x11b4], 0x4d
jle 0x436488
movsxd r15, dword [rbx + 0x1684]
mov ecx, 0x220
mov rdx, r12
lea r14, [rsp + 0x24d0]
mov rdi, r14
lea rsi, [rbx + 0x94]
mov dword [rbx + r15*4 + 0x1284], 1
lea rax, [r15 + r15*8]
movdqu xmm2, xmmword [rbx + 0x1290]
rep movsq qword [rdi], qword [rsi]
lea rbp, [rbx + rax*4 + 0x17e8]
movups xmmword [rbp], xmm2
movdqu xmm5, xmmword [rbx + 0x12a0]
movups xmmword [rbp + 0x10], xmm5
mov eax, dword [rbx + 0x12b0]
movaps xmmword [rsp + 0x30], xmm5
mov dword [rbp + 0x20], eax
movsxd r8, dword [rbx + 0x11e4]
lea rax, [rsp + 0x13d0]
mov rcx, rax
mov qword [rsp + 0x88], rax
mov rdi, r8
shl r8, 2
call sub.msvcrt.dll_memcpy
mov eax, dword [rbx + 0x1684]
test eax, eax
jne 0x437085
movzx eax, byte [rbx + 0x1c18]
mov ecx, 0x3f
mov byte [rbx + 0x11bc], al
lea rax, [r15 + r15*8]
lea rdx, [rbx + rax*4]
movzx eax, byte [rdx + 0x17e8]
add al, byte [rbx + 0x17e4]
cmp al, 0x3f
cmovg eax, ecx
mov byte [rdx + 0x17e8], al
mov dword [rsp + 0x20], edi
xor r9d, r9d
mov rdx, rbp
lea r8, [rbx + 0x11bc]
cmp dword [rsp + 0x3658], 2
lea rsi, [rsp + 0x450]
sete r9b
mov rcx, rsi
call fcn.0043d7d0
mov edx, dword [rbx + 0x11e4]
xor eax, eax
movss xmm1, dword [0x004751ec]
test edx, edx
jle 0x436a0c
pxor xmm0, xmm0
cvtsi2ss xmm0, dword [rsi + rax*4]
mulss xmm0, xmm1
movss dword [r12 + rax*4], xmm0
add rax, 1
cmp edx, eax
jg 0x4369f1
mov rax, qword [rsp + 0x60]
mov r8, rbp
mov rdx, r12
mov rcx, rbx
mov r9, r14
mov qword [rsp + 0x28], rax
movsxd rax, dword [rbx + 0x1684]
lea rax, [rax + rax*4]
shl rax, 6
lea rax, [rbx + rax + 0x1854]
mov qword [rsp + 0x20], rax
call fcn.00439520
movsxd r8, dword [rbx + 0x11e4]
mov rdx, qword [rsp + 0x88]
mov rcx, r12
mov rsi, r8
shl r8, 2
call sub.msvcrt.dll_memcpy
jmp 0x43649e
mov eax, r15d
mov r15d, r8d
mov edx, dword [rsp + 0x4c]
test edx, edx
je 0x436a90
cmp eax, dword [rsp + 0x30]
je 0x436fa7
cmp r15d, dword [rsp + 0x3660]
jg 0x436fa7
nop dword [rax]
mov eax, dword [rbx + 0x11e0]
mov esi, dword [rbx + 0x1248]
mov rcx, qword [rsp + 0x80]
lea r8d, [rax + rax*4]
movsxd rax, dword [rbx + 0x11e8]
add r8d, dword [rbx + 0x11f0]
movsxd r8, r8d
shl r8, 2
lea rdx, [rbx + rax*4 + 0x1c24]
call sub.msvcrt.dll_memmove
test esi, esi
jne 0x4363bc
mov eax, dword [rbx + 0x11e4]
mov rdi, qword [rsp + 0x3648]
mov dword [rbx + 0x1238], 0
sub eax, 1
cdqe
mov eax, dword [rsp + rax*4 + 0x244]
mov dword [rbx + 0x11c0], eax
movzx eax, byte [rbx + 0x12ad]
mov byte [rbx + 0x11bd], al
mov edx, dword [r13 + 0x18]
bsr eax, dword [r13 + 0x20]
xor eax, 0x1f
lea eax, [rax + rdx - 0x19]
sar eax, 3
mov dword [rdi], eax
jmp 0x4363ca
mov r8d, dword [rsp + 0x6c]
jmp 0x4367ce
movzx eax, byte [rsp + 0x4c]
mov r11d, dword [rbx + 0x11e4]
xor eax, 1
cmp r14d, 1
jle 0x437104
test al, al
je 0x437104
movss xmm0, dword [rsp + 0x414]
mulss xmm0, xmm7
comiss xmm0, dword [0x004751e4]
ja 0x436b6a
movaps xmm0, xmm7
mov byte [rbx + 0x12ae], 0
mov dword [rsp + 0x4c], 0
mov dword [rsp + 0x5c], 0
mov dword [rsp + 0x68], 0xffffffff
movss dword [rsp + 0x414], xmm0
xor r10d, r10d
lea rdi, [rbx + 0x12b5]
lea rsi, [rsp + 0xd0]
lea r15, [rsp + 0xc0]
cmp r11d, r10d
jle 0x436c22
mov edx, dword [rbx + 0x11ec]
lea ecx, [r10 + 1]
mov eax, edx
imul ecx, edx
imul eax, r10d
cmp eax, ecx
jge 0x436fa0
movsxd r8, eax
not eax
add eax, ecx
lea rdx, [rbx + r8 + 0x12b4]
add r8, rdi
xor ecx, ecx
add r8, rax
movsx eax, byte [rdx]
add rdx, 1
mov r9d, eax
sar r9d, 0x1f
xor eax, r9d
sub eax, r9d
add ecx, eax
cmp r8, rdx
jne 0x436be3
test r14d, r14d
je 0x436c50
cmp dword [rsi + r10*4], ecx
jle 0x436c11
mov eax, dword [r15 + r10*4]
test eax, eax
je 0x436c50
mov dword [r15 + r10*4], 1
add r10, 1
cmp r11d, r10d
jg 0x436bb1
lea eax, [rbp + rbp]
cmp bp, 0x4000
mov ebp, 0x7fff
cmovl ebp, eax
test r11d, r11d
jg 0x4366df
lea rsi, [rsp + 0xb0]
jmp 0x436749
mov dword [rsi + r10*4], ecx
mov word [rsp + r10*2 + 0xa8], bp
jmp 0x436c19
mov edi, dword [rsp + 0x74]
mov ecx, edi
sub ecx, eax
cmp edx, ecx
jge 0x436f83
mov ebp, edi
mov dword [rsp + 0x4c], 1
sub ebp, eax
mov dword [rsp + 0x5c], 1
jmp 0x4366d6
movdqa xmm3, xmmword [rsp + 0xe0]
mov r9, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x110]
movups xmmword [r13], xmm3
lea rdi, [r9 + 8]
movdqa xmm4, xmmword [rsp + 0xf0]
movdqa xmm3, xmmword [rsp + 0x100]
mov qword [r13 + 0x30], rdx
and rdi, 0xfffffffffffffff8
movups xmmword [r13 + 0x10], xmm4
movups xmmword [r13 + 0x20], xmm3
mov rdx, qword [rsi]
mov qword [r9], rdx
mov rdx, qword [rsi + 0x10f8]
mov qword [r9 + 0x10f8], rdx
mov rdx, r9
sub rdx, rdi
lea ecx, [rdx + 0x1100]
sub rsi, rdx
mov rdx, r12
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
mov qword [rsp + 0x20], rax
mov rcx, rbx
mov qword [rsp + 0x90], rax
movzx edi, byte [rsp + 0x9f]
mov r8, qword [rsp + 0x50]
mov byte [rbx + 0x12b2], dil
movzx edi, word [rsp + 0x9c]
mov word [rbx + 0x169c], di
mov edi, dword [rsp + 0x98]
mov dword [rbx + 0x1698], edi
mov rdi, qword [rsp + 0x60]
mov qword [rsp + 0x28], rdi
call fcn.00439520
cmp r14d, 6
mov rax, qword [rsp + 0x90]
jne 0x437140
mov ecx, dword [rsp + 0x4c]
test ecx, ecx
jne 0x437140
mov rdi, rax
mov rdx, qword [r13 + 0x30]
movdqu xmm2, xmmword [r13]
xor r9d, r9d
mov eax, dword [rsp + 0x3658]
movdqu xmm3, xmmword [r13 + 0x10]
mov rcx, rbx
mov dword [rsp + 0x50], r15d
movdqu xmm4, xmmword [r13 + 0x20]
mov r8d, dword [rbx + 0x1684]
mov r15, rdi
mov qword [rsp + 0x150], rdx
mov dword [rsp + 0x20], eax
mov rdx, r13
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x130], xmm3
movaps xmmword [rsp + 0x140], xmm4
call fcn.00431790
mov ecx, dword [rbx + 0x11e8]
movsx edx, byte [rbx + 0x12ad]
mov r9, rdi
movsx r8d, byte [rbx + 0x12ae]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.00431c30
bsr edx, dword [r13 + 0x20]
mov ecx, dword [r13 + 0x18]
mov eax, dword [rsp + 0x50]
xor edx, 0x1f
lea edx, [rdx + rcx - 0x20]
cmp dword [rsp + 0x3660], edx
jge 0x436a90
movdqa xmm5, xmmword [rsp + 0x120]
mov rdx, qword [rsp + 0x150]
movdqa xmm2, xmmword [rsp + 0x130]
movzx r8d, byte [rsp + 0x448]
movups xmmword [r13], xmm5
movdqa xmm5, xmmword [rsp + 0x140]
mov qword [r13 + 0x30], rdx
xor edx, edx
movups xmmword [r13 + 0x10], xmm2
movups xmmword [r13 + 0x20], xmm5
mov ecx, dword [rbx + 0x11e4]
mov byte [rbx + 0x1c18], r8b
test ecx, ecx
jle 0x436e80
nop dword [rax]
mov byte [rbx + rdx + 0x1290], 4
add rdx, 1
cmp ecx, edx
jg 0x436e70
cmp dword [rsp + 0x3658], 2
je 0x436e91
mov byte [rbx + 0x1290], r8b
movzx esi, word [rsp + 0x9c]
mov ecx, dword [rbx + 0x11e8]
mov word [rbx + 0x169c], si
mov esi, dword [rsp + 0x98]
mov dword [rbx + 0x1698], esi
test ecx, ecx
jle 0x436ed1
sub ecx, 1
mov rdx, r15
lea rcx, [rbx + rcx + 0x12b5]
mov byte [rdx], 0
add rdx, 1
cmp rcx, rdx
jne 0x436ec5
mov dword [rsp + 0x50], eax
xor r9d, r9d
mov rdx, r13
mov rcx, rbx
mov eax, dword [rsp + 0x3658]
mov r8d, dword [rbx + 0x1684]
mov dword [rsp + 0x20], eax
call fcn.00431790
mov ecx, dword [rbx + 0x11e8]
movsx edx, byte [rbx + 0x12ad]
mov r9, r15
movsx r8d, byte [rbx + 0x12ae]
mov dword [rsp + 0x20], ecx
mov rcx, r13
call fcn.00431c30
bsr edx, dword [r13 + 0x20]
mov ecx, dword [r13 + 0x18]
mov eax, dword [rsp + 0x50]
xor edx, 0x1f
lea r15d, [rdx + rcx - 0x20]
jmp 0x436a6c
mov eax, r8d
sub eax, dword [rsp + 0x3660]
mov dword [rsp + 0x4c], r8d
movsx rbp, bp
shl eax, 7
cdq
idiv dword [rbx + 0x11e8]
lea ecx, [rax + 0x800]
call fcn.004347c0
mov r8d, dword [rsp + 0x4c]
mov r11d, dword [rbx + 0x11e4]
mov dword [rsp + 0x4c], 1
cdqe
imul rbp, rax
mov dword [rsp + 0x58], r8d
sar rbp, 0x10
jmp 0x4366d6
mov dword [rsp + 0x4c], 1
mov dword [rsp + 0x5c], 1
jmp 0x4366d6
xor ecx, ecx
jmp 0x436bfe
movdqa xmm5, xmmword [rsp + 0x120]
mov rax, qword [rsp + 0x150]
movdqa xmm2, xmmword [rsp + 0x130]
movups xmmword [r13], xmm5
movdqa xmm5, xmmword [rsp + 0x140]
mov qword [r13 + 0x30], rax
mov eax, dword [rsp + 0x13c]
movups xmmword [r13 + 0x10], xmm2
movups xmmword [r13 + 0x20], xmm5
cmp eax, 0x4fb
ja 0x437127
mov rcx, qword [r13]
lea rsi, [rsp + 0x450]
cmp eax, 8
jae 0x4370a0
test al, 4
jne 0x4370e4
test eax, eax
je 0x43701d
movzx edx, byte [rsi]
mov byte [rcx], dl
test al, 2
jne 0x4370f5
mov rax, qword [rsp + 0x24d0]
mov rdi, qword [rsp + 0x78]
lea rsi, [rsp + 0x24d0]
mov qword [rbx + 0x94], rax
mov rax, qword [rsp + 0x35c8]
mov qword [rdi + 0x10f8], rax
mov rax, rdi
lea rdi, [rdi + 8]
and rdi, 0xfffffffffffffff8
sub rax, rdi
lea ecx, [rax + 0x1100]
sub rsi, rax
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
movzx eax, byte [rsp + 0x9e]
mov byte [rbx + 0x1c18], al
jmp 0x436a90
mov dword [rsp + 0x5c], 1
jmp 0x436c22
sub eax, 1
cdqe
mov r8d, dword [rbx + rax*4 + 0x1284]
test r8d, r8d
jne 0x4369b0
jmp 0x43697e
mov rdx, qword [rsp + 0x450]
lea rdi, [rcx + 8]
and rdi, 0xfffffffffffffff8
mov qword [rcx], rdx
mov edx, eax
mov r8, qword [rsi + rdx - 8]
mov qword [rcx + rdx - 8], r8
sub rcx, rdi
sub rsi, rcx
add ecx, eax
shr ecx, 3
rep movsq qword [rdi], qword [rsi]
jmp 0x43701d
mov dword [rsp + 0x68], r15d
mov dword [rsp + 0x5c], 1
jmp 0x436b92
mov edx, dword [rsi]
mov dword [rcx], edx
mov edx, dword [rsi + rax - 4]
mov dword [rcx + rax - 4], edx
jmp 0x43701d
movzx edx, word [rsi + rax - 2]
mov word [rcx + rax - 2], dx
jmp 0x43701d
mov dword [rsp + 0x6c], r8d
jmp 0x436665
mov r8d, 0x119
lea rdx, str..._silk_float_encode_frame_FLP.c
lea rcx, str.assertion_failed:_psRangeEnc__offs___1275
call fcn.0040b720
mov r8d, 0xfb
lea rdx, str..._silk_float_encode_frame_FLP.c
lea rcx, str.assertion_failed:_sRangeEnc_copy2.offs___1275
call fcn.0040b720
mov r8d, dword [rbx + 0x1684]
xor r9d, r9d
mov rdx, r13
mov rcx, rbx
mov qword [rsp + 0x90], rax
mov eax, dword [rsp + 0x3658]
mov dword [rsp + 0x20], eax
call fcn.00431790
mov ecx, dword [rbx + 0x11e8]
mov rax, qword [rsp + 0x90]
movsx edx, byte [rbx + 0x12ad]
movsx r8d, byte [rbx + 0x12ae]
mov dword [rsp + 0x20], ecx
mov r9, rax
mov rcx, r13
call fcn.00431c30
bsr eax, dword [r13 + 0x20]
mov edx, dword [r13 + 0x18]
xor eax, 0x1f
lea r8d, [rax + rdx - 0x20]
jmp 0x4367ce