Function at 0x1400c5e50
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 - 0xb98]
sub rsp, 0xc70
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
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
movaps xmmword [rax - 0xc8], xmm15
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rbp + 0xac0], rax
mov qword [rbp - 0x68], rcx
xor edx, edx
mov r8d, 0x800
lea rcx, [rbp + 0x2c0]
call fcn.14087f2b0
mov dword [rbp - 0x70], 0x400
xorps xmm3, xmm3
movsd qword [rsp + 0x40], xmm3
movsd qword [rsp + 0x48], xmm3
mov r10d, 1
movsd qword [rsp + 0x40], xmm3
movsd qword [rsp + 0x48], xmm3
movsd qword [rsp + 0x48], xmm3
movsd xmm0, qword [rsp + 0x48]
movsd xmm4, qword [0x1408b6650]
comisd xmm4, xmm0
jbe 0x1400c5ff1
movsd xmm7, qword [0x1408b5d48]
movsd xmm8, qword [0x1408b5c18]
movsd xmm9, qword [0x1408b5c60]
movsd xmm10, qword [0x1408b5cd0]
movsd xmm5, qword [0x1408b5ba0]
movsd xmm6, qword [0x1408b4240]
nop word [rax + rax]
movsd xmm2, qword [rsp + 0x48]
mulsd xmm2, xmm7
mulsd xmm2, qword [rsp + 0x48]
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x48]
mulsd xmm1, xmm0
subsd xmm2, xmm1
movsd xmm0, qword [rsp + 0x48]
mulsd xmm0, xmm8
mulsd xmm0, qword [rsp + 0x48]
addsd xmm0, xmm9
divsd xmm2, xmm0
addsd xmm2, qword [rsp + 0x40]
movsd qword [rsp + 0x40], xmm2
movsd xmm0, qword [rsp + 0x40]
comisd xmm0, xmm10
jbe 0x1400c5fd1
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x48]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm0, qword [rsp + 0x48]
addsd xmm0, xmm6
movsd qword [rsp + 0x48], xmm0
movsd xmm1, qword [rsp + 0x48]
comisd xmm4, xmm1
ja 0x1400c5f60
movsd xmm0, qword [rsp + 0x40]
comisd xmm3, xmm0
jbe 0x1400c600c
call fcn.1408756af
call fcn.1408756c9
jmp 0x1400c7251
xor eax, eax
lea rcx, [rbp + 0x1c0]
nop word [rax + rax]
mov byte [rcx], al
inc eax
lea rcx, [rcx + 1]
cmp eax, 0x100
jb 0x1400c6020
xor r9d, r9d
xor cl, cl
mov r11d, 0xff
lea rsi, [fcn.1408756c9]
movsd xmm3, qword [0x1408b64f0]
movsd xmm4, qword [0x1408b6380]
movsd xmm5, qword [0x1408b61c8]
movsd xmm6, qword [0x1408b6010]
movsd xmm7, qword [0x1408b5e38]
nop dword [rax]
xor edi, edi
movsd qword [rsp + 0x68], xmm3
movsd qword [rsp + 0x38], xmm4
movsd qword [rsp + 0x48], xmm5
movsd qword [rsp + 0x30], xmm6
movsd qword [rsp + 0x78], xmm7
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x48]
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x78]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x78]
subsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x48]
addsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x68]
comisd xmm0, xmm1
jbe 0x1400c6187
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x48]
addsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
lea r10d, [rdi + 1]
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x78]
subsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x48]
mulsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x78], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
jmp 0x1400c634d
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x48]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm2, xmm0
movsd qword [rsp + 0x68], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x30]
addsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
addsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x68]
addsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x48]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x68]
addsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
mulsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x78]
comisd xmm0, xmm1
jbe 0x1400c62df
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x68]
addsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x48]
addsd xmm2, xmm0
movsd qword [rsp + 0x48], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x38]
subsd xmm1, xmm0
jmp 0x1400c6347
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x68]
divsd xmm1, xmm0
movsd qword [rsp + 0x78], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x78]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x78]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x68]
addsd xmm2, xmm0
movsd qword [rsp + 0x78], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
cmp r10d, r11d
jae 0x1400c6360
lea r10d, [r10*2 + 1]
cmp r10d, r11d
jb 0x1400c6352
nop
movzx eax, cl
movzx edx, byte [rbp + rax + 0x1c0]
mov eax, r9d
test r9d, r9d
je 0x1400c63bc
sub eax, 1
je 0x1400c63ac
sub eax, 1
je 0x1400c639c
cmp eax, 1
je 0x1400c638c
lea eax, [r9 - 4]
movzx eax, byte [rax + rsi]
jmp 0x1400c63c7
movsd xmm0, qword [rsp + 0x40]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x1400c63c7
movsd xmm0, qword [rsp + 0x40]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x1400c63c7
movsd xmm0, qword [rsp + 0x40]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x1400c63c7
movsd xmm0, qword [rsp + 0x40]
cvttsd2si rax, xmm0
add dl, al
lea r8d, [r9 + 1]
lea eax, [rdx + 0x22]
movzx ecx, al
cmp r8d, 0x22
cmovb ecx, edx
movzx ebx, cl
xor r9d, r9d
cmp r8d, 0x22
cmovb r9d, r8d
mov eax, ebx
and eax, r10d
inc edi
cmp edi, 0xb
jbe 0x1400c63fb
xor edx, edx
div r11d
mov eax, edx
movzx ecx, bl
cmp eax, r11d
ja 0x1400c6360
je 0x1400c643a
mov edx, eax
mov ecx, r11d
movzx eax, byte [rbp + rcx + 0x1c0]
xor al, byte [rbp + rdx + 0x1c0]
mov byte [rbp + rcx + 0x1c0], al
xor byte [rbp + rdx + 0x1c0], al
movzx eax, byte [rbp + rdx + 0x1c0]
xor byte [rbp + rcx + 0x1c0], al
add r11d, 0xffffffff
movzx ecx, bl
jne 0x1400c6070
movzx r15d, byte [rbp + 0x1c5]
movzx r8d, byte [rbp + 0x1c7]
movzx edx, byte [rbp + rbx + 0x1c0]
lea r14, [fcn.1408756af]
movzx ebx, byte [r14]
sub bl, 4
shl bl, 4
movzx ecx, byte [r14 + 1]
add cl, 0x25
or bl, cl
movzx r11d, byte [rbp + rdx + 0x1c0]
movzx eax, byte [rbp + 0x1c1]
lea esi, [rax + 1]
movzx r12d, byte [rbp + 0x1c3]
add r12b, byte [rbp + rax + 0x1c0]
movzx r9d, r12b
movzx eax, byte [rbp + r9 + 0x1c0]
mov byte [rbp + rdx + 0x1c0], al
movzx eax, byte [rbp + r8 + 0x1c0]
mov byte [rbp + r9 + 0x1c0], al
movzx ecx, sil
movzx eax, byte [rbp + rcx + 0x1c0]
mov byte [rbp + r8 + 0x1c0], al
mov byte [rbp + rcx + 0x1c0], r11b
add r15b, byte [rbp + r11 + 0x1c0]
movzx eax, r15b
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + rdx + 0x1c0]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x1c0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r9 + 0x1c0]
add rax, r11
movzx eax, al
movzx edx, byte [rbp + rcx + 0x1c0]
xor dl, byte [rbp + rax + 0x1c0]
xor dl, bl
mov edi, 1
movzx r8d, byte [r14 + 2]
add r8b, 0xc
shl r8b, 4
movzx ecx, byte [r14 + 3]
add cl, 0x25
or r8b, cl
mov byte [rbp - 0x80], r8b
movzx r10d, bl
movzx ebx, byte [rbp + r10 + 0x1c0]
mov byte [rsp + 0x70], bl
inc sil
add r12b, r11b
movzx r9d, r12b
movzx eax, byte [rbp + r9 + 0x1c0]
mov byte [rbp + r10 + 0x1c0], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x1c0]
mov byte [rbp + r9 + 0x1c0], al
movzx ecx, sil
movzx eax, byte [rbp + rcx + 0x1c0]
mov byte [rbp + r8 + 0x1c0], al
mov byte [rbp + rcx + 0x1c0], bl
add r15b, byte [rbp + rbx + 0x1c0]
movzx eax, r15b
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r8 + 0x1c0]
add rcx, rax
movzx eax, byte [rbp + r10 + 0x1c0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r9 + 0x1c0]
add rax, rbx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x1c0]
xor dl, byte [rbp + rax + 0x1c0]
movzx r9d, byte [rbp - 0x80]
xor dl, r9b
mov byte [rbp + 0x1a8], dl
mov eax, 2
mov qword [rbp - 0x78], 4
mov dword [rsp + 0x38], edi
add eax, 2
mov dword [rsp + 0x30], eax
cdqe
movzx ecx, byte [rax + r14]
mov dword [rsp + 0x78], ecx
lea ebx, [rcx - 0x84]
shl ebx, 4
movzx r13d, byte [rax + r14 + 1]
sub r13d, 0xdb
movzx r11d, bl
or r11b, r13b
movzx r10d, r9b
movzx r14d, byte [rbp + r10 + 0x1c0]
inc sil
add r12b, byte [rsp + 0x70]
movzx r9d, r12b
movzx eax, byte [rbp + r9 + 0x1c0]
mov byte [rbp + r10 + 0x1c0], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x1c0]
mov byte [rbp + r9 + 0x1c0], al
movzx eax, sil
lea rcx, [rbp + 0x1c0]
add rcx, rax
mov qword [rsp + 0x48], rcx
movzx eax, byte [rcx]
mov byte [rbp + r8 + 0x1c0], al
mov byte [rcx], r14b
add r15b, byte [rbp + r14 + 0x1c0]
movzx eax, r15b
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r8 + 0x1c0]
add rcx, rax
movzx eax, byte [rbp + r10 + 0x1c0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r9 + 0x1c0]
add rax, r14
movzx eax, al
movzx edx, byte [rbp + rcx + 0x1c0]
xor dl, byte [rbp + rax + 0x1c0]
xor dl, r11b
movzx r9d, r11b
add edi, 1
je 0x1400c6720
mov eax, dword [rsp + 0x38]
mov byte [rbp + rax + 0x1a8], dl
sub qword [rbp - 0x78], 1
mov byte [rsp + 0x70], r14b
mov eax, dword [rsp + 0x30]
lea r14, [fcn.1408756af]
jne 0x1400c6621
lea r8d, [rdi + 1]
cmp r8d, 0xc
jge 0x1400c707c
lea ecx, [rdi + rdi]
mov eax, listen
sub eax, r8d
mov r8d, eax
mov qword [rbp - 0x60], r8
movss xmm3, dword [0x1408b68c4]
movss xmm4, dword [0x1408b6868]
movss xmm5, dword [0x1408b6804]
movss xmm6, dword [0x1408b67b4]
movss xmm7, dword [0x1408b6748]
movss xmm8, dword [0x1408b66e0]
movsd xmm9, qword [0x1408b6478]
movsd xmm10, qword [0x1408b6378]
movsd xmm11, qword [0x1408b6240]
movsd xmm12, qword [0x1408b6128]
movsd xmm13, qword [0x1408b6008]
movsd xmm14, qword [0x1408b5ed8]
movsd xmm15, qword [0x1408b5d98]
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x68], edi
inc edi
add ecx, 2
mov dword [rsp + 0x48], ecx
movss dword [rsp + 0x38], xmm3
movss dword [rsp + 0x30], xmm4
movss dword [rsp + 0x50], xmm5
movss dword [rsp + 0x40], xmm6
movss dword [rsp + 0x60], xmm7
movss dword [rsp + 0x58], xmm8
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x60]
mulss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x58]
subss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x58]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x60]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x50]
addss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x60]
comiss xmm1, xmm0
jbe 0x1400c6ada
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x30]
divss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x60]
divss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x60]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x38]
divss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
divss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x38]
subss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x58]
divss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x38]
addss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x38]
comiss xmm0, xmm1
jbe 0x1400c6a49
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
divss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x60]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x30]
mulss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x60]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movsxd rcx, ecx
mov r8d, dword [rsp + 0x78]
jmp 0x1400c6b72
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x60]
divss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
divss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
divss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
mulss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movsxd rcx, ecx
mov r8d, dword [rsp + 0x78]
jmp 0x1400c6b72
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x50]
mulss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x30]
subss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x30]
mulss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x30]
addss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movsxd rcx, ecx
lea r8, [fcn.1408756af]
movzx r8d, byte [rcx + r8]
mov dword [rsp + 0x78], r8d
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x60]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
lea rax, [fcn.1408756af]
movzx eax, byte [rcx + rax + 1]
movss xmm0, dword [0x1408b6970]
movss dword [rsp + 0x50], xmm0
movss xmm0, dword [0x1408b6938]
movss dword [rsp + 0x40], xmm0
movss xmm0, dword [0x1408b68d4]
movss dword [rsp + 0x58], xmm0
movss xmm0, dword [0x1408b684c]
movss dword [rsp + 0x38], xmm0
movss xmm0, dword [0x1408b67bc]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [0x1408b6718]
movss dword [rsp + 0x30], xmm0
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
subss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x58]
mulss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x38]
mulss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x30]
subss xmm2, xmm0
movss dword [rsp + 0x38], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x30]
comiss xmm0, xmm1
jbe 0x1400c6cf4
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x60]
divss xmm1, xmm0
movss dword [rsp + 0x38], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x38]
subss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x50]
mulss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
jmp 0x1400c6d82
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x58]
addss xmm2, xmm0
movss dword [rsp + 0x58], xmm2
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x60]
subss xmm1, xmm0
movss dword [rsp + 0x58], xmm1
lea ebx, [r8 - 0x84]
shl ebx, 4
movss xmm1, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x30], xmm1
movss xmm2, dword [rsp + 0x30]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x30], xmm2
movss xmm1, dword [rsp + 0x38]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movsd qword [rbp - 0x78], xmm9
movsd qword [rsp + 0x60], xmm10
movsd qword [rsp + 0x50], xmm11
movsd qword [rsp + 0x58], xmm12
movsd qword [rsp + 0x38], xmm13
movsd qword [rsp + 0x30], xmm14
movsd qword [rsp + 0x40], xmm15
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rbp - 0x78]
addsd xmm2, xmm0
movsd qword [rbp - 0x78], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
addsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
comisd xmm0, xmm1
jbe 0x1400c6f06
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
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 + 0x58]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x50]
addsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
lea r13d, [rax - 0xdb]
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
jmp 0x1400c6f9f
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rbp - 0x78]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
addsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x58]
addsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movzx r11d, bl
or r11b, r13b
movzx r9d, r9b
movzx ecx, byte [rbp + r9 + 0x1c0]
inc sil
add r12b, byte [r14]
movzx r10d, r12b
movzx eax, byte [rbp + r10 + 0x1c0]
mov byte [rbp + r9 + 0x1c0], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x1c0]
mov byte [rbp + r10 + 0x1c0], al
movzx eax, sil
lea r14, [rbp + 0x1c0]
add r14, rax
movzx eax, byte [r14]
mov byte [rbp + r8 + 0x1c0], al
mov byte [r14], cl
mov edx, ecx
add r15b, byte [rbp + rcx + 0x1c0]
movzx eax, r15b
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r9 + 0x1c0]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x1c0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r10 + 0x1c0]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx + 0x1c0]
xor dl, byte [rbp + rax + 0x1c0]
xor dl, r11b
movzx r9d, r11b
test edi, edi
je 0x1400c706d
mov eax, dword [rsp + 0x68]
mov byte [rbp + rax + 0x1a8], dl
sub qword [rbp - 0x60], 1
mov ecx, dword [rsp + 0x48]
jne 0x1400c67d0
mov r13d, edi
inc edi
mov r14d, edi
lea eax, [rdi + rdi]
cdqe
lea r8, [fcn.1408756af]
movzx r11d, byte [rax + r8 + 1]
add r11b, 0x25
movzx eax, byte [rax + r8]
sub al, 4
shl al, 4
or r11b, al
movzx r10d, r9b
movzx ebx, byte [rbp + r10 + 0x1c0]
movzx eax, sil
inc sil
add r12b, byte [rbp + rax + 0x1c0]
movzx r9d, r12b
movzx eax, byte [rbp + r9 + 0x1c0]
mov byte [rbp + r10 + 0x1c0], al
movzx r8d, dl
movzx eax, byte [rbp + r8 + 0x1c0]
mov byte [rbp + r9 + 0x1c0], al
movzx ecx, sil
movzx eax, byte [rbp + rcx + 0x1c0]
mov byte [rbp + r8 + 0x1c0], al
mov byte [rbp + rcx + 0x1c0], bl
add r15b, byte [rbp + rbx + 0x1c0]
movzx eax, r15b
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r10 + 0x1c0]
add rcx, rax
movzx eax, byte [rbp + r8 + 0x1c0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r9 + 0x1c0]
add rax, rbx
movzx eax, al
movzx r8d, byte [rbp + rcx + 0x1c0]
xor r8b, byte [rbp + rax + 0x1c0]
xor r8b, r11b
test edi, edi
je 0x1400c716e
mov byte [rbp + r13 + 0x1a8], r8b
inc edi
movzx r10d, r11b
movzx edx, byte [rbp + r10 + 0x1c0]
inc sil
add r12b, bl
movzx r11d, r12b
movzx eax, byte [rbp + r11 + 0x1c0]
mov byte [rbp + r10 + 0x1c0], al
movzx r9d, r8b
movzx eax, byte [rbp + r9 + 0x1c0]
mov byte [rbp + r11 + 0x1c0], al
movzx ecx, sil
movzx eax, byte [rbp + rcx + 0x1c0]
mov byte [rbp + r9 + 0x1c0], al
mov byte [rbp + rcx + 0x1c0], dl
mov r8d, edx
add r15b, byte [rbp + rdx + 0x1c0]
lea eax, [rdi + rdi]
cdqe
lea rcx, [fcn.1408756af]
movzx edx, byte [rax + rcx + 1]
add dl, 0x25
movzx eax, byte [rax + rcx]
sub al, 4
shl al, 4
or dl, al
movzx eax, r15b
movzx ecx, byte [rbp + rax + 0x1c0]
movzx eax, byte [rbp + r10 + 0x1c0]
add rcx, rax
movzx eax, byte [rbp + r9 + 0x1c0]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax + 0x1c0]
xor dl, byte [rbp + rcx + 0x1c0]
movzx eax, byte [rbp + r11 + 0x1c0]
add rax, r8
movzx ecx, al
xor dl, byte [rbp + rcx + 0x1c0]
test edi, edi
je 0x1400c724a
mov byte [rbp + r14 + 0x1a8], dl
mov byte [rbp + 0x1b4], 0
lea rdx, [rbp + 0x1a8]
mov rcx, qword [rbp - 0x68]
mov rcx, qword [rcx + 0x28]
call fcn.1400a8760
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x2c0]
call rax
lea rcx, [rbp - 0x58]
call fcn.1400bfa90
nop
lea r8, [rbp - 0x6c]
lea rdx, [rbp + 0x180]
lea rcx, [rbp - 0x58]
call fcn.1400da750
xor r14d, r14d
lea rdx, [rbp + 0x2c0]
lea rcx, [rbp + 0x100]
call fcn.1400bfa20
nop
lea rdx, [rbp - 0x40]
lea rcx, [rbp + 0x100]
call fcn.1400e21c0
mov rdi, qword [rax]
lea rdx, [rbp - 0x38]
lea rcx, [rbp + 0x100]
call fcn.1400e2840
mov rbx, qword [rax]
lea rdx, [rbp - 0x30]
lea rcx, [rbp + 0x100]
call fcn.1400e21c0
lea rcx, [fcn.140885410]
mov qword [rsp + 0x20], rcx
mov r9, rdi
mov r8, rbx
mov rdx, qword [rax]
lea rcx, [rbp - 0x28]
call fcn.1400bf5d0
lea rcx, [rbp - 0x7f]
call fcn.1400bceb0
mov rdi, rax
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x100]
call fcn.1400e2840
mov rbx, qword [rax]
lea rdx, [rbp - 0x18]
lea rcx, [rbp + 0x100]
call fcn.1400e21c0
mov r9, rdi
mov r8, rbx
mov rdx, qword [rax]
lea rcx, [rbp + 0x120]
call fcn.1400bef40
nop
lea rcx, [rbp + 0x140]
call fcn.1400ba980
nop
movsxd r8, dword [rbp - 0x6c]
shl r8, 2
lea r9d, [r14 + 1]
lea rdx, [rbp + 0x180]
lea rcx, [rbp - 0x10]
call fcn.1400c18e0
nop
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x140]
call fcn.1400be6a0
lea rdx, [rbp + 0x120]
lea rcx, [rbp + 0x140]
call fcn.1400be820
lea rcx, [rbp + 0x140]
call fcn.1400bc340
lea rcx, [rbp - 0x58]
call fcn.1400e31f0
mov qword [rbp - 0x68], rax
xor r13d, r13d
test rax, rax
je 0x1400c7448
xor esi, esi
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.1400c1bf0
mov rcx, qword [rax]
add rcx, 8
call fcn.1400e31f0
mov r15, rax
xor ebx, ebx
test rax, rax
je 0x1400c7438
xor edi, edi
lea rcx, [rbp + 0x140]
call fcn.1400bceb0
mov r12, rax
nop word [rax + rax]
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.1400c1bf0
mov rcx, qword [rax]
add rcx, 8
mov rdx, rdi
call fcn.1400c1bf0
mov rdx, r12
mov rcx, qword [rax]
call fcn.1400da980
test al, al
je 0x1400c742f
mov rdx, rsi
lea rcx, [rbp - 0x58]
call fcn.1400c1bf0
mov rcx, qword [rax]
movsxd rax, dword [rcx]
or r14, rax
inc ebx
mov edi, ebx
cmp rdi, r15
jb 0x1400c73f0
inc r13d
mov esi, r13d
cmp rsi, qword [rbp - 0x68]
jb 0x1400c73b4
lea rcx, [rbp - 0x58]
call fcn.1400c7510
shr r14, 0x17
not r14b
and r14b, 1
lea rcx, [rbp - 0x10]
call fcn.1400c1c60
nop
lea rcx, [rbp + 0x140]
call fcn.1400b10a0
nop
lea rcx, [rbp + 0x120]
call fcn.1400bb000
nop
lea rcx, [rbp + 0x100]
call fcn.140091230
nop
lea rcx, [rbp - 0x58]
call fcn.1400c1a60
movzx eax, r14b
mov rcx, qword [rbp + 0xac0]
xor rcx, rsp
call fcn.14087bc90
lea r11, [rsp + 0xc70]
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]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
movaps xmm15, xmmword [r11 - 0xa0]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret