Function at 0x14009f7a0
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r14
lea rbp, [rsp - 0x520]
sub rsp, 0x620
mov rax, qword [0x140a7a0a8]
xor rax, rsp
mov qword [rbp + 0x4c0], rax
xor r12d, r12d
xorps xmm0, xmm0
mov rsi, 0xffffffffffffffff
mov qword [rbp - 0x80], r12
movups xmmword [rsp + 0x70], xmm0
mov qword [rbp - 0x78], r12
mov r8, rsi
nop dword [rax]
inc r8
cmp word [rcx + r8*2], r12w
jne 0x14009f7f0
mov rdx, rcx
lea rcx, [rsp + 0x70]
call fcn.140091530
cmp qword [rbp - 0x78], 8
lea rcx, [rsp + 0x70]
mov r8, qword [rsp + 0x70]
lea rbx, [rsp + 0x70]
mov rax, qword [rbp - 0x80]
lea rdi, [rsp + 0x70]
cmovae rcx, r8
cmovae rbx, r8
cmovae rdi, r8
lea r14, [rcx + rax*2]
cmp rbx, r14
je 0x14009f855
sub rdi, rbx
nop dword [rax]
movzx ecx, word [rbx]
call fcn.1408b6120
mov word [rbx + rdi], ax
add rbx, 2
cmp rbx, r14
jne 0x14009f840
xor edx, edx
lea rcx, [rbp + 0xa0]
mov r8d, 0x208
call fcn.1408affc0
xor edx, edx
lea rcx, [rbp + 0x2b0]
mov r8d, 0x208
call fcn.1408affc0
movsd xmm4, qword [0x1408e4cf8]
xorps xmm3, xmm3
movsd qword [rsp + 0x60], xmm3
movsd qword [rsp + 0x40], xmm3
movsd qword [rsp + 0x60], xmm3
movsd qword [rsp + 0x40], xmm3
movsd qword [rsp + 0x40], xmm3
movsd xmm0, qword [rsp + 0x40]
comisd xmm4, xmm0
jbe 0x14009f9dc
movsd xmm5, qword [0x1408e42d8]
movaps xmmword [rsp + 0x610], xmm6
movsd xmm6, qword [0x1408e4240]
movaps xmmword [rsp + 0x600], xmm7
movsd xmm7, qword [0x1408e4520]
movaps xmmword [rsp + 0x5f0], xmm8
movsd xmm8, qword [0x1408e4380]
movaps xmmword [rsp + 0x5e0], xmm9
movsd xmm9, qword [0x1408e4430]
movaps xmmword [rsp + 0x5d0], xmm10
movsd xmm10, qword [0x1408e4458]
nop dword [rax]
nop dword [rax + rax]
movsd xmm2, qword [rsp + 0x40]
mulsd xmm2, xmm7
mulsd xmm2, qword [rsp + 0x40]
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd xmm0, qword [rsp + 0x40]
mulsd xmm0, xmm8
subsd xmm2, xmm1
mulsd xmm0, qword [rsp + 0x40]
addsd xmm0, xmm9
divsd xmm2, xmm0
addsd xmm2, qword [rsp + 0x60]
movsd qword [rsp + 0x60], xmm2
movsd xmm0, qword [rsp + 0x60]
comisd xmm0, xmm10
jbe 0x14009f991
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm0, qword [rsp + 0x40]
addsd xmm0, xmm6
movsd qword [rsp + 0x40], xmm0
movsd xmm1, qword [rsp + 0x40]
comisd xmm4, xmm1
ja 0x14009f920
movaps xmm10, xmmword [rsp + 0x5d0]
movaps xmm9, xmmword [rsp + 0x5e0]
movaps xmm8, xmmword [rsp + 0x5f0]
movaps xmm7, xmmword [rsp + 0x600]
movaps xmm6, xmmword [rsp + 0x610]
movsd xmm0, qword [rsp + 0x60]
comisd xmm3, xmm0
mov qword [rsp + 0x658], r13
mov qword [rsp + 0x660], r15
jbe 0x14009fa07
call fcn.1408a3e66
call fcn.1408a3e60
jmp 0x1400a0661
mov eax, r12d
lea rcx, [rbp - 0x60]
nop
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x14009fa10
mov r9d, r12d
lea rdi, [fcn.1408a3e66]
xor cl, cl
mov r10d, 0xff
mov esi, 1
nop word [rax + rax]
mov ebx, r12d
mov r11d, esi
cmp r10d, esi
jbe 0x14009fa60
nop dword [rax + rax]
lea r11d, [r11*2 + 1]
cmp r11d, r10d
jb 0x14009fa50
nop dword [rax]
movzx eax, cl
movzx r8d, byte [rbp + rax - 0x60]
mov eax, r9d
test r9d, r9d
je 0x14009fab7
sub eax, esi
je 0x14009faa7
sub eax, esi
je 0x14009fa97
cmp eax, esi
je 0x14009fa87
lea eax, [r9 - 4]
add r8b, byte [rax + rdi]
jmp 0x14009fac5
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x14009fac2
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x14009fac2
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x14009fac2
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
add r8b, al
lea edx, [r9 + 1]
mov r9d, r12d
lea eax, [r8 + 0x1d]
cmp edx, 0x1d
movzx ecx, al
movzx eax, r8b
cmovb r9d, edx
cmovb ecx, eax
inc ebx
movzx r8d, cl
mov eax, r8d
and eax, r11d
cmp ebx, 0xb
jbe 0x14009faf9
xor edx, edx
div r10d
mov eax, edx
movzx ecx, r8b
cmp eax, r10d
ja 0x14009fa60
je 0x14009fb27
mov edx, eax
mov ecx, r10d
movzx eax, byte [rbp + rdx - 0x60]
xor al, byte [rbp + rcx - 0x60]
mov byte [rbp + rcx - 0x60], al
xor byte [rbp + rdx - 0x60], al
movzx eax, byte [rbp + rdx - 0x60]
xor byte [rbp + rcx - 0x60], al
movzx ecx, r8b
add r10d, 0xffffffff
jne 0x14009fa40
movzx r14d, byte [rbp - 0x5b]
lea rdi, [fcn.1408a3e60]
movzx edx, byte [rbp - 0x59]
movzx ecx, byte [rbp + r8 - 0x60]
movsd xmm0, qword [0x1408e4bc8]
movsd xmm1, qword [0x1408e4a58]
movsd qword [rsp + 0x50], xmm0
movsd xmm0, qword [0x1408e4850]
movsd qword [rsp + 0x40], xmm1
movsd xmm1, qword [0x1408e4650]
movsd qword [rsp + 0x38], xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd 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
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x30]
comisd xmm2, xmm0
jbe 0x14009fc4d
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
movzx ebx, byte [rdi]
mulsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
addsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
jmp 0x14009fdb7
movsd xmm1, qword [rsp + 0x30]
xor bl, bl
movsd xmm0, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd 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 + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
comisd xmm0, xmm1
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
jbe 0x14009fd6b
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x38]
divsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
jmp 0x14009fdb7
addsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movzx r15d, byte [rbp - 0x5f]
inc bl
movzx r12d, byte [rbp + rcx - 0x60]
mov r9, rcx
movzx r13d, byte [rbp - 0x5d]
movzx r8d, byte [rdi + 1]
add r13b, byte [rbp + r15 - 0x60]
sub r8d, 0x8b
movsd xmm0, qword [0x1408e4bf8]
inc r15b
movsd xmm1, qword [0x1408e4ab0]
movzx r10d, r13b
shl bl, 4
or bl, r8b
movzx eax, byte [rbp + r10 - 0x60]
mov byte [rbp + rcx - 0x60], al
movzx eax, byte [rbp + rdx - 0x60]
mov byte [rbp + r10 - 0x60], al
movzx ecx, r15b
movzx eax, byte [rbp + rcx - 0x60]
mov byte [rbp + rdx - 0x60], al
mov byte [rbp + rcx - 0x60], r12b
add r14b, byte [rbp + r12 - 0x60]
movsd qword [rsp + 0x38], xmm0
movsd xmm0, qword [0x1408e4890]
movsd qword [rsp + 0x40], xmm1
movsd xmm1, qword [0x1408e4678]
movsd qword [rsp + 0x60], xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x30]
comisd xmm0, xmm1
jbe 0x14009ff14
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
jmp 0x14009ffa5
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
subsd xmm1, xmm0
movzx eax, r14b
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
movzx ecx, byte [rbp + rax - 0x60]
movzx eax, byte [rbp + r9 - 0x60]
add rcx, rax
mulsd xmm2, xmm0
movzx eax, byte [rbp + rdx - 0x60]
add rcx, rax
movzx eax, cl
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movzx ecx, byte [rbp + rax - 0x60]
movsd xmm0, qword [rsp + 0x40]
movzx eax, byte [rbp + r10 - 0x60]
add rax, r12
mulsd xmm1, xmm0
movzx edx, byte [rbp + rcx - 0x60]
movzx eax, al
xor dl, byte [rbp + rax - 0x60]
movsd qword [rsp + 0x40], xmm1
xor dl, bl
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movzx ecx, byte [rdi + 3]
movzx r9d, byte [rdi + 2]
movsd xmm0, qword [0x1408e4bd0]
movsd xmm1, qword [0x1408e4ad0]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1408e4998]
movsd qword [rsp + 0x60], xmm1
movsd xmm1, qword [0x1408e4858]
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [0x1408e4700]
movsd qword [rsp + 0x30], xmm1
movsd xmm1, qword [0x1408e45a0]
movsd qword [rsp + 0x50], xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm2, xmm0
movzx r10d, bl
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x38]
subsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
comisd xmm1, xmm0
movsd xmm1, qword [rsp + 0x30]
jbe 0x1400a0130
movsd xmm0, qword [rsp + 0x68]
lea r8d, [rcx - 0x8b]
mulsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
subsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
jmp 0x1400a0344
movsd xmm0, qword [rsp + 0x38]
divsd 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 + 0x50]
movsd xmm0, qword [rsp + 0x40]
subsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
subsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
divsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
subsd 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 + 0x60]
comisd xmm1, xmm0
jbe 0x1400a02c0
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x60]
subsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x50]
divsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
mulsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x50]
addsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
jmp 0x1400a033a
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
divsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x50], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x60]
subsd xmm2, xmm0
movsd qword [rsp + 0x38], xmm2
movsd xmm0, qword [0x1408e4b58]
movsd xmm1, qword [0x1408e4928]
movsd qword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1408e46d0]
movsd qword [rsp + 0x38], xmm1
movsd qword [rsp + 0x30], xmm0
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
mulsd 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
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
comisd xmm0, xmm1
jbe 0x1400a0413
movsd xmm1, qword [rsp + 0x30]
lea ebx, [r9 + 1]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
shl bl, 4
or bl, r8b
movsd qword [rsp + 0x30], xmm1
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x38]
subsd xmm1, xmm0
movsd qword [rsp + 0x40], xmm1
movsd xmm2, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
addsd xmm2, xmm0
movsd qword [rsp + 0x40], xmm2
jmp 0x1400a052f
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x30]
divsd 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]
subsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
divsd 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
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]
comisd xmm1, xmm0
jbe 0x1400a04ed
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x30]
divsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
divsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
jmp 0x1400a052f
movsd xmm1, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
addsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsd xmm2, qword [rsp + 0x30]
movsd xmm0, qword [rsp + 0x38]
addsd xmm2, xmm0
movsd qword [rsp + 0x30], xmm2
movsd xmm1, qword [rsp + 0x38]
movsd xmm0, qword [rsp + 0x40]
mulsd xmm1, xmm0
movsd qword [rsp + 0x38], xmm1
movzx r11d, byte [rbp + r10 - 0x60]
mov r9, r10
movzx r8d, dl
add r13b, r12b
movzx r10d, r13b
inc r15b
movzx ecx, r15b
add r13b, r11b
inc r15b
movzx eax, byte [rbp + r10 - 0x60]
mov byte [rbp + r9 - 0x60], al
movzx eax, byte [rbp + r8 - 0x60]
mov byte [rbp + r10 - 0x60], al
movzx eax, byte [rbp + rcx - 0x60]
mov byte [rbp + r8 - 0x60], al
mov byte [rbp + rcx - 0x60], r11b
add r14b, byte [rbp + r11 - 0x60]
movzx eax, r14b
movzx ecx, byte [rbp + rax - 0x60]
movzx eax, byte [rbp + r9 - 0x60]
add rcx, rax
movzx eax, byte [rbp + r8 - 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x60]
movzx eax, byte [rbp + r10 - 0x60]
add rax, r11
movzx r10d, bl
movzx eax, al
movzx edx, byte [rbp + rcx - 0x60]
movzx r11d, r13b
movzx r8d, byte [rbp + r10 - 0x60]
xor dl, byte [rbp + rax - 0x60]
xor dl, bl
movzx ecx, r15b
movsx eax, dl
mov word [rbp - 0x70], ax
movzx eax, byte [rbp + r11 - 0x60]
mov byte [rbp + r10 - 0x60], al
movzx r9d, dl
mov edx, r8d
movzx eax, byte [rbp + r9 - 0x60]
mov byte [rbp + r11 - 0x60], al
movzx eax, byte [rbp + rcx - 0x60]
mov byte [rbp + r9 - 0x60], al
movzx eax, byte [rdi + 5]
mov byte [rbp + rcx - 0x60], r8b
add al, 0x75
add r14b, byte [rbp + rdx - 0x60]
movzx r8d, byte [rdi + 4]
inc r8b
shl r8b, 4
or r8b, al
movzx eax, r14b
movzx ecx, byte [rbp + rax - 0x60]
movzx eax, byte [rbp + r9 - 0x60]
add rcx, rax
movzx eax, byte [rbp + r10 - 0x60]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x60]
movzx eax, byte [rbp + r11 - 0x60]
add rax, rdx
xor r8b, byte [rbp + rcx - 0x60]
movzx ecx, al
xor r8b, byte [rbp + rcx - 0x60]
xor r12d, r12d
movsx eax, r8b
mov word [rbp - 0x6e], ax
mov word [rbp - 0x6c], r12w
lea rsi, [r12 - 1]
cmp qword [rbp - 0x78], 8
lea rcx, [rsp + 0x70]
lea r8, [rbp + 0x2b0]
mov qword [rsp + 0x20], r12
cmovae rcx, qword [rsp + 0x70]
lea rdx, [rbp + 0xa0]
xor r9d, r9d
call fcn.1408b63d0
lea rax, [rbp + 0xa0]
lea r8, [rbp - 0x70]
sub r8, rax
nop word [rax + rax]
movzx edx, word [rax]
movzx ecx, word [rax + r8]
sub edx, ecx
jne 0x1400a06b4
add rax, 2
test ecx, ecx
jne 0x1400a06a0
test edx, edx
jne 0x1400a0718
lea rax, [rbp + 0x2b0]
nop
inc rsi
cmp word [rax + rsi*2], 0
jne 0x1400a06c0
cmp rsi, 2
jae 0x1400a0718
mov rdx, qword [rbp - 0x78]
cmp rdx, 8
jb 0x1400a0711
mov rcx, qword [rsp + 0x70]
lea rdx, [rdx*2 + 2]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400a070c
mov rcx, qword [rcx - 8]
add rdx, 0x27
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a0967
call fcn.1408acb9c
xor al, al
jmp 0x1400a0931
movsxd rbx, dword [rbp - 0x80]
xor cl, cl
xor r15b, r15b
mov byte [rsp + 0x48], cl
xor dil, dil
mov byte [rsp + 0x58], r15b
xor r13b, r13b
mov byte [rsp + 0x50], cl
mov r14d, r12d
test rbx, rbx
jle 0x1400a08ea
mov rdx, qword [rbp - 0x78]
mov r8, qword [rsp + 0x70]
nop dword [rax]
cmp rdx, 8
lea rax, [rsp + 0x70]
cmovae rax, r8
cmp word [rax + rbx*2], 0x2e
jne 0x1400a076c
mov dil, 1
jmp 0x1400a08c7
test dil, dil
je 0x1400a0798
cmp rdx, 8
lea rax, [rsp + 0x70]
cmovae rax, r8
xor dil, dil
cmp word [rax + rbx*2], 0x29
jne 0x1400a0790
mov r13b, 1
jmp 0x1400a08c7
mov r15b, 1
mov byte [rsp + 0x58], r15b
test r13b, r13b
je 0x1400a07f9
cmp rdx, 8
lea rax, [rsp + 0x70]
cmovae rax, r8
cmp word [rax + rbx*2], 0x28
jne 0x1400a07c9
mov r15b, 1
xor r13b, r13b
movzx ecx, r15b
mov byte [rsp + 0x58], r15b
mov byte [rsp + 0x48], cl
jmp 0x1400a08c7
cmp rdx, 8
lea rcx, [rsp + 0x70]
cmovae rcx, r8
movzx ecx, word [rcx + rbx*2]
call fcn.1408b6010
test eax, eax
je 0x1400a08ea
cmp r12d, 3
jge 0x1400a08ea
inc r12d
jmp 0x1400a08b9
test cl, cl
je 0x1400a084c
cmp rdx, 8
mov byte [rsp + 0x48], 0
lea rax, [rsp + 0x70]
cmovae rax, r8
movzx esi, word [rax + rbx*2]
movzx ecx, si
call fcn.1408b6010
movzx ecx, si
mov dword [rsp + 0x38], eax
call fcn.1408b6004
test eax, eax
je 0x1400a0837
movzx ecx, si
call fcn.1408b601c
test eax, eax
jne 0x1400a083e
cmp dword [rsp + 0x38], 0
je 0x1400a08b9
mov rdx, qword [rbp - 0x78]
mov r8, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0x48]
test r15b, r15b
je 0x1400a08c7
cmp rdx, 8
lea rax, [rsp + 0x70]
cmovae rax, r8
cmp word [rax + rbx*2], 0x5f
je 0x1400a08d5
cmp rdx, 8
lea rax, [rsp + 0x70]
cmovae rax, r8
movzx esi, word [rax + rbx*2]
movzx ecx, si
call fcn.1408b6010
test eax, eax
movzx ecx, si
setne r15b
call fcn.1408b6004
test eax, eax
je 0x1400a089f
movzx ecx, si
call fcn.1408b601c
test eax, eax
je 0x1400a089f
mov r15b, 1
xor ecx, ecx
movzx eax, r15b
cmp r14d, 0xa
cmovl ecx, eax
test cl, cl
je 0x1400a08ea
movzx r15d, byte [rsp + 0x58]
inc r14d
mov rdx, qword [rbp - 0x78]
mov r8, qword [rsp + 0x70]
movzx ecx, byte [rsp + 0x48]
dec rbx
test rbx, rbx
jg 0x1400a0750
jmp 0x1400a08f3
mov ebx, dword [rsp + 0x50]
cmp r14d, 3
movzx ebx, bl
mov eax, 1
cmovge ebx, eax
jmp 0x1400a08f7
mov rdx, qword [rbp - 0x78]
mov r8, qword [rsp + 0x70]
mov ebx, dword [rsp + 0x50]
cmp rdx, 8
jb 0x1400a092e
lea rdx, [rdx*2 + 2]
mov rax, r8
cmp rdx, 0x1000
jb 0x1400a0926
mov r8, qword [r8 - 8]
add rdx, 0x27
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400a0967
mov rcx, r8
call fcn.1408acb9c
movzx eax, bl
mov r15, qword [rsp + 0x660]
mov r13, qword [rsp + 0x658]
mov rcx, qword [rbp + 0x4c0]
xor rcx, rsp
call fcn.1408ac9a0
mov rbx, qword [rsp + 0x668]
add rsp, 0x620
pop r14
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1408b5c00
int3