Function at 0x1400c4620
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x468]
sub rsp, 0x540
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x140a7a0a8]
xor rax, rsp
mov qword [rbp + 0x3e0], rax
mov rbx, rcx
mov qword [rsp + 0x78], rcx
mov r14b, 1
xorps xmm3, xmm3
movsd qword [rsp + 0x58], xmm3
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x58], xmm3
movsd qword [rsp + 0x30], xmm3
movsd qword [rsp + 0x30], xmm3
movsd xmm0, qword [rsp + 0x30]
movsd xmm4, qword [0x1408e6858]
comisd xmm4, xmm0
jbe 0x1400c4781
movsd xmm7, qword [0x1408e5f28]
movsd xmm8, qword [0x1408e5d90]
movsd xmm9, qword [0x1408e5df8]
movsd xmm10, qword [0x1408e5e50]
movsd xmm5, qword [0x1408e5d50]
movsd xmm6, qword [0x1408e4240]
nop word [rax + rax]
movsd xmm2, qword [rsp + 0x30]
mulsd xmm2, xmm7
mulsd xmm2, qword [rsp + 0x30]
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
subsd xmm2, xmm1
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm8
mulsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm9
divsd xmm2, xmm0
addsd xmm2, qword [rsp + 0x58]
movsd qword [rsp + 0x58], xmm2
movsd xmm0, qword [rsp + 0x58]
comisd xmm0, xmm10
jbe 0x1400c4761
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm0, qword [rsp + 0x30]
addsd xmm0, xmm6
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
comisd xmm4, xmm1
ja 0x1400c46f0
movsd xmm0, qword [rsp + 0x58]
xor r12d, r12d
comisd xmm3, xmm0
jbe 0x1400c479f
call fcn.1408a64de
call fcn.1408a64e8
jmp 0x1400c5adb
mov eax, r12d
lea rcx, [rbp + 0x2e0]
nop dword [rax]
mov byte [rcx], al
inc eax
lea rcx, [rcx + 1]
cmp eax, 0x100
jb 0x1400c47b0
mov r9d, r12d
xor cl, cl
mov r10d, 0xff
lea rdi, [fcn.1408a64e8]
movss xmm3, dword [0x1408e6b50]
movss xmm4, dword [0x1408e6a54]
movss xmm5, dword [0x1408e6948]
nop dword [rax]
mov ebx, r12d
mov r11d, 1
cmp r10d, r11d
jbe 0x1400c4810
nop
lea r11d, [r11*2 + 1]
cmp r11d, r10d
jb 0x1400c4800
nop dword [rax]
movzx eax, cl
movzx r8d, byte [rbp + rax + 0x2e0]
mov eax, r9d
test r9d, r9d
je 0x1400c486d
sub eax, 1
je 0x1400c485d
sub eax, 1
je 0x1400c484d
cmp eax, 1
je 0x1400c483d
lea eax, [r9 - 4]
add r8b, byte [rax + rdi]
jmp 0x1400c487b
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x1400c4878
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x1400c4878
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x1400c4878
movsd xmm0, qword [rsp + 0x58]
cvttsd2si rax, xmm0
add r8b, al
lea edx, [r9 + 1]
lea eax, [r8 + 0x1c]
movzx ecx, al
movzx eax, r8b
cmp edx, 0x1c
cmovb ecx, eax
movzx r8d, cl
mov r9d, r12d
cmovb r9d, edx
mov eax, r8d
and eax, r11d
inc ebx
cmp ebx, 0xb
jbe 0x1400c48af
xor edx, edx
div r10d
mov eax, edx
movzx ecx, r8b
cmp eax, r10d
ja 0x1400c4810
je 0x1400c49d3
movss dword [rsp + 0x40], xmm3
movss dword [rsp + 0x38], xmm4
movss dword [rsp + 0x30], xmm5
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x30]
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x40]
mov edx, eax
movss xmm0, dword [rsp + 0x38]
movss xmm1, dword [rsp + 0x30]
mov ecx, r10d
comiss xmm0, xmm2
movss xmm0, dword [rsp + 0x38]
jbe 0x1400c4970
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
jmp 0x1400c49b5
mulss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movzx eax, byte [rbp + rdx + 0x2e0]
xor byte [rbp + rcx + 0x2e0], al
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movzx eax, byte [rbp + rcx + 0x2e0]
xor byte [rbp + rdx + 0x2e0], al
movzx eax, byte [rbp + rdx + 0x2e0]
xor byte [rbp + rcx + 0x2e0], al
add r10d, 0xffffffff
movzx ecx, r8b
jne 0x1400c47f0
movzx esi, byte [rbp + 0x2e5]
movzx r11d, byte [rbp + 0x2e7]
movzx r8d, byte [rbp + r8 + 0x2e0]
movss xmm0, dword [0x1408e6bc0]
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [0x1408e6b04]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [0x1408e6a5c]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x1408e69a8]
movss dword [rsp + 0x30], xmm1
movss xmm0, dword [0x1408e68e0]
movss dword [rsp + 0x38], xmm0
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
mulss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x58]
mulss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x38]
lea r15, [fcn.1408a64de]
comiss xmm0, xmm2
jbe 0x1400c4b37
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x50]
divss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
mulss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
xor dl, dl
jmp 0x1400c4ba9
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movzx edx, byte [r15]
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x58]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
addss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x50]
subss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movzx ecx, byte [r15 + 1]
movsd xmm0, qword [0x1408e67c0]
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [0x1408e6588]
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [0x1408e61e0]
movsd qword [rsp + 0x38], xmm0
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
comisd xmm1, xmm0
movsd xmm1, qword [rsp + 0x40]
jbe 0x1400c4d48
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
divsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
addsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
comisd xmm1, xmm0
jbe 0x1400c4d04
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
addsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
jmp 0x1400c4d7e
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
divsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
jmp 0x1400c4d84
movsd xmm0, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
addsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
inc dl
shl dl, 4
sub cl, 0x54
or dl, cl
movzx r14d, byte [rbp + r8 + 0x2e0]
movzx eax, byte [rbp + 0x2e1]
lea edi, [rax + 1]
movzx r12d, byte [rbp + 0x2e3]
add r12b, byte [rbp + rax + 0x2e0]
movzx ebx, r12b
movzx eax, byte [rbp + rbx + 0x2e0]
mov byte [rbp + r8 + 0x2e0], al
movzx eax, byte [rbp + r11 + 0x2e0]
mov byte [rbp + rbx + 0x2e0], al
movsd xmm0, qword [0x1408e67c8]
movsd qword [rsp + 0x40], xmm0
movsd xmm1, qword [0x1408e6740]
movsd qword [rsp + 0x58], xmm1
movsd xmm0, qword [0x1408e6598]
movsd qword [rsp + 0x68], xmm0
movsd xmm1, qword [0x1408e63e8]
movsd qword [rsp + 0x50], xmm1
movsd xmm0, qword [0x1408e61f0]
movsd qword [rsp + 0x38], xmm0
movsd xmm1, qword [0x1408e6018]
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
addsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
movzx ecx, dil
comisd xmm1, xmm0
jbe 0x1400c4f50
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
divsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x68]
divsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
jmp 0x1400c4fe4
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movzx eax, byte [rbp + rcx + 0x2e0]
mov byte [rbp + r11 + 0x2e0], al
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x50]
subsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
mov byte [rbp + rcx + 0x2e0], r14b
add sil, byte [rbp + r14 + 0x2e0]
movss xmm0, dword [0x1408e6c28]
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [0x1408e6b88]
movss dword [rsp + 0x50], xmm1
movss xmm0, dword [0x1408e6aac]
movss dword [rsp + 0x40], xmm0
movss xmm1, dword [0x1408e69e4]
movss dword [rsp + 0x30], xmm1
movss xmm0, dword [0x1408e68fc]
movss dword [rsp + 0x38], xmm0
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x50]
addss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x50]
mulss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x30]
comiss xmm0, xmm1
jbe 0x1400c512c
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x58]
addss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x58]
divss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
mulss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
jmp 0x1400c51eb
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r8 + 0x2e0]
add rcx, rax
movzx eax, byte [rbp + r11 + 0x2e0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + rbx + 0x2e0]
add rax, r14
movzx eax, al
movzx r11d, byte [rbp + rcx + 0x2e0]
xor r11b, byte [rbp + rax + 0x2e0]
xor r11b, dl
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
mulss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
mulss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x30]
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movsd xmm0, qword [0x1408e6628]
movsd qword [rsp + 0x40], xmm0
movsd xmm1, qword [0x1408e63a0]
movsd qword [rsp + 0x30], xmm1
movsd xmm0, qword [0x1408e60f0]
movsd qword [rsp + 0x38], xmm0
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
addsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
comisd xmm0, xmm1
jbe 0x1400c52a7
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
addsd xmm1, xmm0
jmp 0x1400c52e3
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movzx r13d, byte [r15 + 2]
inc r13b
shl r13b, 4
movzx ecx, byte [r15 + 3]
sub cl, 0x54
or r13b, cl
movzx r9d, dl
movzx edx, byte [rbp + r9 + 0x2e0]
mov byte [rsp + 0x60], dl
inc dil
add r12b, r14b
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x2e0]
mov byte [rbp + r9 + 0x2e0], al
movzx r8d, r11b
movzx eax, byte [rbp + r8 + 0x2e0]
mov byte [rbp + r10 + 0x2e0], al
movzx ecx, dil
movzx eax, byte [rbp + rcx + 0x2e0]
mov byte [rbp + r8 + 0x2e0], al
mov byte [rbp + rcx + 0x2e0], dl
add sil, byte [rbp + rdx + 0x2e0]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r9 + 0x2e0]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x2e0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r10 + 0x2e0]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x2e0]
xor dl, byte [rbp + rax + 0x2e0]
xor dl, r13b
movsx eax, dl
mov word [rbp + 0x2c8], ax
movzx ecx, byte [r15 + 4]
movss xmm0, dword [0x1408e6ca8]
movss dword [rsp + 0x58], xmm0
movss xmm1, dword [0x1408e6c5c]
movss dword [rsp + 0x38], xmm1
movss xmm0, dword [0x1408e6bec]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [0x1408e6b30]
movss dword [rsp + 0x40], xmm1
movss xmm0, dword [0x1408e6a88]
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [0x1408e69c0]
movss dword [rsp + 0x68], xmm1
movss xmm0, dword [0x1408e68f0]
movss dword [rsp + 0x48], xmm0
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
mulss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x48]
subss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x58]
mulss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x48]
subss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x48]
mov r15d, 3
comiss xmm0, xmm2
jbe 0x1400c5767
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x58]
addss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x58]
addss xmm2, xmm0
movss dword [rsp + 0x68], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x58]
addss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x30]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x30]
subss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x58]
addss xmm2, xmm0
movss dword [rsp + 0x68], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
addss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
divss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
comiss xmm1, xmm0
jbe 0x1400c56c5
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x68]
addss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x58]
mulss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x58]
addss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x48]
subss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
mov ebx, r15d
jmp 0x1400c5806
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
mulss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
divss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x58]
divss xmm2, xmm0
movss dword [rsp + 0x68], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
divss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
divss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
mov rbx, r15
jmp 0x1400c5806
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x68]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x30]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x38]
addss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x58]
addss xmm2, xmm0
movss dword [rsp + 0x68], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x30]
subss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
mov ebx, 5
lea r14, [fcn.1408a64de]
movzx ebx, byte [rbx + r14]
sub bl, 0x54
inc cl
shl cl, 4
or bl, cl
movzx r9d, r13b
movzx r11d, byte [rbp + r9 + 0x2e0]
inc dil
add r12b, byte [rsp + 0x60]
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x2e0]
mov byte [rbp + r9 + 0x2e0], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x2e0]
mov byte [rbp + r10 + 0x2e0], al
movzx ecx, dil
movzx eax, byte [rbp + rcx + 0x2e0]
mov byte [rbp + r8 + 0x2e0], al
mov byte [rbp + rcx + 0x2e0], r11b
add sil, byte [rbp + r11 + 0x2e0]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r9 + 0x2e0]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x2e0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r10 + 0x2e0]
add rax, r11
movzx eax, al
movzx edx, byte [rbp + rcx + 0x2e0]
xor dl, byte [rbp + rax + 0x2e0]
xor dl, bl
movsx eax, dl
mov word [rbp + 0x2ca], ax
movzx ecx, byte [r14 + 6]
inc cl
shl cl, 4
movzx eax, byte [r14 + 7]
sub al, 0x54
or cl, al
mov byte [rsp + 0x60], cl
movzx r9d, bl
movzx ecx, byte [rbp + r9 + 0x2e0]
inc dil
add r12b, r11b
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x2e0]
mov byte [rbp + r9 + 0x2e0], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x2e0]
mov byte [rbp + r10 + 0x2e0], al
movzx ebx, dil
movzx eax, byte [rbp + rbx + 0x2e0]
mov byte [rbp + r8 + 0x2e0], al
mov byte [rbp + rbx + 0x2e0], cl
mov edx, ecx
add sil, byte [rbp + rcx + 0x2e0]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r9 + 0x2e0]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x2e0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r10 + 0x2e0]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x2e0]
xor dl, byte [rbp + rax + 0x2e0]
movzx ecx, byte [rsp + 0x60]
xor dl, cl
movsx eax, dl
mov word [rbp + 0x2cc], ax
mov r14d, 6
lea r13d, [r14 - 4]
nop dword [rax]
mov dword [rsp + 0x30], r15d
add r14d, 2
movsxd rax, r14d
lea r8, [fcn.1408a64de]
movzx r11d, byte [rax + r8]
inc r11b
shl r11b, 4
movzx eax, byte [rax + r8 + 1]
sub al, 0x54
or r11b, al
movzx r10d, cl
movzx ecx, byte [rbp + r10 + 0x2e0]
inc dil
add r12b, byte [rbp + rbx + 0x2e0]
movzx r9d, r12b
movzx eax, byte [rbp + r9 + 0x2e0]
mov byte [rbp + r10 + 0x2e0], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x2e0]
mov byte [rbp + r9 + 0x2e0], al
movzx ebx, dil
movzx eax, byte [rbp + rbx + 0x2e0]
mov byte [rbp + r8 + 0x2e0], al
mov byte [rbp + rbx + 0x2e0], cl
mov edx, ecx
add sil, byte [rbp + rcx + 0x2e0]
movzx eax, sil
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r8 + 0x2e0]
add rcx, rax
movzx eax, byte [rbp + r10 + 0x2e0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x2e0]
movzx eax, byte [rbp + r9 + 0x2e0]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x2e0]
xor dl, byte [rbp + rax + 0x2e0]
xor dl, r11b
movzx ecx, r11b
add r15d, 1
je 0x1400c5abe
movsx ecx, dl
mov eax, dword [rsp + 0x30]
mov word [rbp + rax*2 + 0x2c8], cx
movzx ecx, r11b
sub r13, 1
jne 0x1400c59c0
xor r12d, r12d
mov word [rbp + 0x2d0], r12w
mov r14b, 1
mov rbx, qword [rsp + 0x78]
mov rax, qword [rbx + 0x30]
lea rdx, [rbp + 0x50]
lea rcx, [rbp + 0x2c8]
call rax
mov qword [rsp + 0x40], rax
lea rcx, [rbp - 0x80]
call fcn.1400be9f0
nop
lea r9, [rsp + 0x74]
lea r8, [rbp + 0x2a0]
lea rdx, [rbp - 0x80]
mov rcx, rbx
call fcn.1400d6110
lea rcx, [rsp + 0x70]
call fcn.1400bbe10
mov rsi, rax
mov qword [rsp + 0x38], rax
mov eax, dword [rsp + 0x74]
lea r15d, [rax*4]
mov dword [rsp + 0x74], r15d
lea r13, [fcn.1408b6120]
nop dword [rax]
lea rdx, [rbp + 0x7c]
lea rcx, [rbp - 0x38]
call fcn.1400be980
nop
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x38]
call fcn.1400e46c0
mov rdi, qword [rax]
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x38]
call fcn.1400e4d20
mov rbx, qword [rax]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x38]
call fcn.1400e46c0
mov qword [rsp + 0x20], r13
mov r9, rdi
mov r8, rbx
mov rdx, qword [rax]
lea rcx, [rbp - 0x50]
call fcn.1400be530
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x38]
call fcn.1400e4d20
mov rbx, qword [rax]
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x38]
call fcn.1400e46c0
mov r9, rsi
mov r8, rbx
mov rdx, qword [rax]
lea rcx, [rbp - 0x18]
call fcn.1400bdea0
nop
lea rcx, [rbp + 0x10]
call fcn.1400b98e0
nop
mov r8d, r15d
lea rdx, [rbp + 0x2a0]
lea rcx, [rbp + 0x10]
call fcn.1400bdb70
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x10]
call fcn.1400bd780
lea rcx, [rbp + 0x10]
call fcn.1400bb2a0
lea rcx, [rbp - 0x80]
call fcn.1400e5680
mov qword [rsp + 0x30], rax
mov r13d, r12d
test rax, rax
je 0x1400c5cb0
mov rsi, r12
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.1400c0cc0
mov rcx, qword [rax]
add rcx, 8
call fcn.1400e5680
mov r15, rax
mov ebx, r12d
test rax, rax
je 0x1400c5c95
mov rdi, r12
lea rcx, [rbp + 0x10]
call fcn.1400bbe10
mov r12, rax
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.1400c0cc0
mov rcx, qword [rax]
add rcx, 8
mov rdx, rdi
call fcn.1400c0cc0
mov rdx, r12
mov rcx, qword [rax]
call fcn.1400db6c0
test al, al
je 0x1400c5c89
mov rdx, rsi
lea rcx, [rbp - 0x80]
call fcn.1400c0cc0
mov rcx, qword [rax]
cmp dword [rcx], 0x1000000
setne al
and r14b, al
inc ebx
mov edi, ebx
cmp rdi, r15
jb 0x1400c5c44
xor r12d, r12d
inc r13d
mov esi, r13d
cmp rsi, qword [rsp + 0x30]
jb 0x1400c5c12
mov rsi, qword [rsp + 0x38]
mov r15d, dword [rsp + 0x74]
lea rcx, [rbp + 0x10]
call fcn.1400b1e00
nop
lea rcx, [rbp - 0x18]
call fcn.1400b9f60
nop
lea rcx, [rbp - 0x38]
call fcn.140091200
mov rax, qword [rsp + 0x78]
mov r8, qword [rax + 0x38]
lea rdx, [rbp + 0x50]
mov rcx, qword [rsp + 0x40]
call r8
test eax, eax
lea r13, [fcn.1408b6120]
jne 0x1400c5b40
lea rcx, [rbp - 0x80]
call fcn.1400c0b30
movzx eax, r14b
mov rcx, qword [rbp + 0x3e0]
xor rcx, rsp
call fcn.1408ac9a0
lea r11, [rsp + 0x540]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret