Function at 0x1401665a0
Capabilities:
Encrypt data using rc4 ksa
Get storage device properties

Disassembly:
push rbp
push rbx
push rsi
push r12
push r13
push r15
lea rbp, [rsp - 0x288]
sub rsp, 0x388
mov rax, qword [0x140a480a8]
xor rax, rsp
mov qword [rbp + 0x220], rax
mov ebx, edx
mov qword [rbp - 0x60], rcx
mov r15, rcx
mov qword [rbp - 0x58], r8
lea rdx, [0x1408b5950]
mov rcx, r8
mov r12, r8
call fcn.14010e2f0
xorps xmm0, xmm0
lea rcx, [rbp + 0x120]
xor eax, eax
xor edx, edx
mov r8d, 0x100
mov word [rbp + 0x110], ax
movups xmmword [rbp + 0xf0], xmm0
movups xmmword [rbp + 0x100], xmm0
call fcn.14087f2b0
mov r8d, 0xa
lea rdx, [rbp + 0xf0]
mov ecx, ebx
call fcn.140885a7c
lea rcx, [rbp + 0x120]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140166635
movzx eax, word [0x1408b9b54]
xorps xmm3, xmm3
movsd xmm4, qword [0x1408ba278]
mov word [rcx], ax
movzx eax, byte [0x1408b9b56]
mov byte [rcx + 2], al
movsd qword [rbp - 0x80], xmm3
movsd qword [rsp + 0x58], xmm3
movsd qword [rbp - 0x80], xmm3
movaps xmmword [rsp + 0x370], xmm6
movsd qword [rsp + 0x58], xmm3
movaps xmmword [rsp + 0x360], xmm7
movsd qword [rsp + 0x58], xmm3
movsd xmm0, qword [rsp + 0x58]
comisd xmm4, xmm0
movaps xmmword [rsp + 0x350], xmm8
movaps xmmword [rsp + 0x340], xmm9
jbe 0x140166785
movsd xmm7, qword [0x1408b9cf8]
movsd xmm8, qword [0x1408b5148]
movsd xmm9, qword [0x1408b9c48]
movsd xmm5, qword [0x1408b9b90]
movsd xmm6, qword [0x1408b4240]
movaps xmmword [rsp + 0x330], xmm10
movsd xmm10, qword [0x1408b9c68]
nop dword [rax + rax]
movsd xmm2, qword [rsp + 0x58]
mulsd xmm2, xmm7
mulsd xmm2, qword [rsp + 0x58]
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm1, xmm0
movsd xmm0, qword [rsp + 0x58]
mulsd xmm0, xmm8
subsd xmm2, xmm1
mulsd xmm0, qword [rsp + 0x58]
addsd xmm0, xmm9
divsd xmm2, xmm0
addsd xmm2, qword [rbp - 0x80]
movsd qword [rbp - 0x80], xmm2
movsd xmm0, qword [rbp - 0x80]
comisd xmm0, xmm10
jbe 0x14016675c
movsd xmm1, qword [rbp - 0x80]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rbp - 0x80], xmm1
movsd xmm0, qword [rsp + 0x58]
addsd xmm0, xmm6
movsd qword [rsp + 0x58], xmm0
movsd xmm1, qword [rsp + 0x58]
comisd xmm4, xmm1
ja 0x1401666f0
movaps xmm10, xmmword [rsp + 0x330]
movsd xmm0, qword [rbp - 0x80]
xor r13d, r13d
comisd xmm3, xmm0
mov qword [rsp + 0x3d8], rdi
mov qword [rsp + 0x380], r14
jbe 0x1401667b2
call fcn.14087b035
call fcn.14087b015
jmp 0x140167ae6
mov eax, r13d
lea rcx, [rbp - 0x10]
nop dword [rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x1401667c0
mov r9d, r13d
lea r14, fcn.14087b035
xor cl, cl
mov esi, 1
mov r10d, 0xff
nop word [rax + rax]
mov edi, r13d
mov r11d, esi
cmp r10d, esi
jbe 0x140166810
nop dword [rax + rax]
lea r11d, [r11*2 + 1]
cmp r11d, r10d
jb 0x140166800
nop dword [rax]
movzx eax, cl
movzx edx, byte [rbp + rax - 0x10]
mov eax, r9d
test r9d, r9d
je 0x140166864
sub eax, esi
je 0x140166855
sub eax, esi
je 0x140166846
cmp eax, esi
je 0x140166837
lea eax, [r9 - 4]
movzx eax, byte [rax + r14]
jmp 0x14016686e
movsd xmm0, qword [rbp - 0x80]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x14016686e
movsd xmm0, qword [rbp - 0x80]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x14016686e
movsd xmm0, qword [rbp - 0x80]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x14016686e
movsd xmm0, qword [rbp - 0x80]
cvttsd2si rax, xmm0
add al, dl
lea r8d, [r9 + 1]
movzx edx, al
cmp r8d, 0x1b
mov r9d, r13d
cmovb r9d, r8d
lea eax, [rdx + 0x1b]
movzx ecx, al
cmovb ecx, edx
inc edi
movzx ebx, cl
mov eax, ebx
and eax, r11d
cmp edi, 0xb
jbe 0x1401668a1
xor edx, edx
div r10d
mov eax, edx
movzx ecx, bl
cmp eax, r10d
ja 0x140166810
je 0x1401668ce
mov edx, eax
mov ecx, r10d
movzx eax, byte [rbp + rdx - 0x10]
xor al, byte [rbp + rcx - 0x10]
mov byte [rbp + rcx - 0x10], al
xor byte [rbp + rdx - 0x10], al
movzx eax, byte [rbp + rdx - 0x10]
xor byte [rbp + rcx - 0x10], al
movzx ecx, bl
add r10d, 0xffffffff
jne 0x1401667f0
movzx r15d, byte [rbp - 0xb]
lea r12, [fcn.14087b015]
movzx eax, byte [r12]
movzx edx, byte [rbp - 9]
movzx ecx, byte [rbp + rbx - 0x10]
movsd xmm0, qword [0x1408ba1a8]
movsd xmm1, qword [0x1408ba0c0]
movsd qword [rbp - 0x80], xmm0
movsd xmm0, qword [0x1408b9f50]
movsd qword [rsp + 0x70], xmm1
movsd xmm1, qword [0x1408b9df0]
movsd qword [rsp + 0x78], xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rbp - 0x80]
addsd xmm2, xmm0
movsd qword [rbp - 0x80], xmm2
movsd xmm1, qword [rbp - 0x80]
movsd xmm0, qword [rsp + 0x58]
subsd xmm1, xmm0
movsd qword [rbp - 0x80], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rbp - 0x80]
addsd xmm2, xmm0
movsd qword [rbp - 0x80], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
movsd xmm1, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x58]
comisd xmm1, xmm0
jbe 0x1401669e8
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x78]
addsd xmm1, xmm0
movsd qword [rsp + 0x78], xmm1
movsd xmm2, qword [rsp + 0x70]
movsd xmm0, qword [rbp - 0x80]
addsd xmm2, xmm0
movsd qword [rbp - 0x80], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x78]
addsd xmm1, xmm0
movsd qword [rsp + 0x78], xmm1
movsd xmm2, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x58]
subsd xmm2, xmm0
movsd qword [rsp + 0x78], xmm2
jmp 0x140166a41
movsd xmm1, qword [rsp + 0x78]
mov rsi, r13
movsd xmm0, qword [rbp - 0x80]
addsd xmm1, xmm0
movsd qword [rbp - 0x80], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x70]
addsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movzx r8d, byte [rsi + r12]
sub al, 0xe
movzx esi, byte [rbp - 0xd]
add r8b, 0x1a
movzx edi, byte [rbp + rcx - 0x10]
mov r10, rcx
movss xmm0, dword [0x1408ba570]
movss xmm1, dword [0x1408ba508]
shl al, 4
or r8b, al
movzx eax, byte [rbp - 0xf]
add sil, byte [rbp + rax - 0x10]
lea r14d, [rax + 1]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x1408b7aac]
movss dword [rsp + 0x68], xmm1
movss xmm1, dword [0x1408ba3b0]
movss dword [rsp + 0x60], xmm0
movss xmm0, dword [0x1408ba304]
movss dword [rsp + 0x40], xmm1
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
mulss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
mulss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
comiss xmm1, xmm0
jbe 0x140166d06
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
subss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x48]
addss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
mulss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x60]
mulss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x50]
comiss xmm1, xmm0
movss xmm1, dword [rsp + 0x40]
jbe 0x140166c98
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm0
movzx r9d, sil
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x48]
mulss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
divss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
jmp 0x140166d82
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movzx r9d, sil
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x68]
mulss xmm2, xmm0
movss dword [rsp + 0x68], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
divss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x60]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
jmp 0x140166d82
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movzx r9d, sil
movzx eax, byte [rbp + r9 - 0x10]
mov byte [rbp + rcx - 0x10], al
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x60]
subss xmm2, xmm0
movss dword [rsp + 0x68], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x60]
addss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movzx eax, byte [rbp + rdx - 0x10]
add sil, dil
mov byte [rbp + r9 - 0x10], al
movzx ebx, byte [r12 + 2]
movzx r13d, byte [r12 + 4]
add bl, 2
movzx ecx, r14b
inc r14b
shl bl, 4
mov dword [rbp - 0x80], r13d
movzx eax, byte [rbp + rcx - 0x10]
mov byte [rbp + rdx - 0x10], al
mov byte [rbp + rcx - 0x10], dil
add r15b, byte [rbp + rdi - 0x10]
movzx eax, r15b
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r10 - 0x10]
add rcx, rax
movzx eax, byte [rbp + rdx - 0x10]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r9 - 0x10]
add rcx, rdi
movzx r9d, sil
mov edi, 2
movzx edx, byte [rbp + rax - 0x10]
movzx eax, cl
movzx ecx, byte [r12 + 3]
add cl, 0x1a
movzx r10d, byte [rbp + rdx - 0x10]
or bl, cl
xor r10b, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r9 - 0x10]
xor r10b, r8b
movzx r8d, r8b
movzx edx, r10b
movzx ecx, r14b
inc r14b
movzx r11d, byte [rbp + r8 - 0x10]
mov byte [rbp + r8 - 0x10], al
add sil, r11b
movzx eax, byte [rbp + rdx - 0x10]
mov byte [rbp + r9 - 0x10], al
movzx eax, byte [rbp + rcx - 0x10]
mov byte [rbp + rdx - 0x10], al
mov byte [rbp + rcx - 0x10], r11b
add r15b, byte [rbp + r11 - 0x10]
movzx eax, r15b
movzx r10d, sil
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r8 - 0x10]
add rcx, rax
movzx eax, byte [rbp + rdx - 0x10]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r9 - 0x10]
add rcx, r11
movzx r9d, bl
movzx edx, byte [rbp + rax - 0x10]
movzx eax, cl
movzx ecx, byte [r12 + 5]
lea r12, [rbp - 0x10]
add cl, 0x1a
movzx r8d, byte [rbp + rdx - 0x10]
lea edx, [r13 + 2]
xor r8b, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r10 - 0x10]
xor r8b, bl
shl dl, 4
or dl, cl
mov byte [rbp - 0x20], r8b
movzx ecx, byte [rbp + r9 - 0x10]
mov byte [rbp + r9 - 0x10], al
movzx r8d, r8b
mov byte [rbp - 0x78], dl
movzx eax, byte [rbp + r8 - 0x10]
mov byte [rbp + r10 - 0x10], al
movzx eax, r14b
add r12, rax
movzx eax, byte [r12]
mov byte [rbp + r8 - 0x10], al
movss xmm3, dword [0x1408ba588]
lea ebx, [rdi + 2]
movss xmm4, dword [0x1408ba538]
mov edx, ecx
movss xmm5, dword [0x1408ba4d4]
movss xmm6, dword [0x1408b9804]
movss xmm7, dword [0x1408ba3d4]
movss xmm8, dword [0x1408ba35c]
movss xmm9, dword [0x1408ba2cc]
mov byte [r12], cl
add r15b, byte [rbp + rcx - 0x10]
movzx eax, r15b
mov qword [rbp - 0x70], 5
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r9 - 0x10]
add rcx, rax
movzx eax, byte [rbp + r8 - 0x10]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r10 - 0x10]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx - 0x10]
movzx ecx, byte [rbp - 0x78]
xor dl, byte [rbp + rax - 0x10]
xor dl, cl
mov byte [rbp - 0x1f], dl
jmp 0x140166f84
mov r13d, dword [rbp - 0x80]
movss dword [rsp + 0x68], xmm3
add ebx, 2
movss dword [rsp + 0x78], xmm4
movss dword [rsp + 0x70], xmm5
movss dword [rsp + 0x60], xmm6
movss dword [rsp + 0x48], xmm7
movss dword [rsp + 0x40], xmm8
movss dword [rsp + 0x50], xmm9
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x70]
mulss xmm1, xmm0
mov dword [rsp + 0x58], edi
inc edi
movss dword [rsp + 0x70], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x50]
subss xmm2, xmm0
movss dword [rsp + 0x60], 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 + 0x50]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
mulss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
comiss xmm1, xmm0
jbe 0x1401672f5
movss xmm1, dword [rsp + 0x78]
movss xmm0, dword [rsp + 0x60]
subss xmm1, xmm0
movss dword [rsp + 0x78], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x68]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x68]
movss xmm0, dword [rsp + 0x70]
subss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x68]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x78]
addss xmm2, xmm0
movss dword [rsp + 0x78], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x70]
addss xmm1, xmm0
movss dword [rsp + 0x70], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
addss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x78]
movss xmm0, dword [rsp + 0x68]
addss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
movss xmm2, dword [rsp + 0x70]
movss xmm0, dword [rsp + 0x60]
divss xmm2, xmm0
movss dword [rsp + 0x70], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x78]
comiss xmm1, xmm0
jbe 0x140167253
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
mulss xmm1, xmm0
movsxd r11, ebx
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x60]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x70]
movss xmm0, dword [rsp + 0x60]
divss xmm2, xmm0
movss dword [rsp + 0x70], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x60]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x60]
movss xmm0, dword [rsp + 0x48]
subss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x78]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movss dword [rsp + 0x68], xmm1
jmp 0x1401673a2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
mulss xmm1, xmm0
movsxd r11, ebx
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x78]
movss xmm0, dword [rsp + 0x70]
divss xmm2, xmm0
movss dword [rsp + 0x78], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x60]
mulss xmm1, xmm0
movss dword [rsp + 0x60], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
divss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x68]
addss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
jmp 0x1401673a2
movss xmm1, dword [rsp + 0x50]
lea r8, [fcn.14087b015]
movss xmm0, dword [rsp + 0x78]
subss xmm1, xmm0
movsxd r11, ebx
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x60]
mulss xmm2, xmm0
movss dword [rsp + 0x60], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x78]
mulss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x78]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x68]
movzx r13d, byte [r11 + r8]
mulss xmm1, xmm0
mov dword [rbp - 0x80], r13d
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x48]
mulss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x70]
movss xmm0, dword [rsp + 0x48]
subss xmm2, xmm0
movss dword [rsp + 0x70], xmm2
add sil, byte [r12]
lea rax, [fcn.14087b015]
movzx r11d, byte [r11 + rax + 1]
lea r12, [rbp - 0x10]
movzx r10d, cl
lea eax, [r13 + 2]
shl al, 4
add r11b, 0x1a
or r11b, al
movzx r8d, dl
movzx r9d, sil
inc r14b
movzx r13d, byte [rbp + r10 - 0x10]
movzx eax, byte [rbp + r9 - 0x10]
mov byte [rbp + r10 - 0x10], al
movzx eax, byte [rbp + r8 - 0x10]
mov byte [rbp + r9 - 0x10], al
movzx eax, r14b
add r12, rax
movzx eax, byte [r12]
mov byte [rbp + r8 - 0x10], al
mov byte [r12], r13b
add r15b, byte [rbp + r13 - 0x10]
movzx eax, r15b
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r8 - 0x10]
add rcx, rax
movzx eax, byte [rbp + r10 - 0x10]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r9 - 0x10]
add rax, r13
movzx eax, al
movzx edx, byte [rbp + rcx - 0x10]
movzx ecx, r11b
xor dl, byte [rbp + rax - 0x10]
xor dl, r11b
test edi, edi
je 0x140167455
mov eax, dword [rsp + 0x58]
mov byte [rbp + rax - 0x20], dl
sub qword [rbp - 0x70], 1
jne 0x140166f80
movzx r11d, byte [rbp + rcx - 0x10]
lea rbx, [fcn.14087b015]
mov r8, rcx
movzx edx, dl
add sil, r13b
mov dword [rsp + 0x58], edi
inc edi
movzx r9d, sil
inc r14b
mov dword [rbp - 0x80], edi
lea eax, [rdi + rdi]
cdqe
movzx r10d, byte [rax + rbx]
movzx eax, byte [rax + rbx + 1]
add r10b, 2
add al, 0x1a
shl r10b, 4
or r10b, al
movzx eax, byte [rbp + r9 - 0x10]
mov byte [rbp + rcx - 0x10], al
movzx eax, byte [rbp + rdx - 0x10]
mov byte [rbp + r9 - 0x10], al
movzx ecx, r14b
movzx eax, byte [rbp + rcx - 0x10]
mov byte [rbp + rdx - 0x10], al
mov byte [rbp + rcx - 0x10], r11b
add r15b, byte [rbp + r11 - 0x10]
movzx eax, r15b
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r8 - 0x10]
add rcx, rax
movzx eax, byte [rbp + rdx - 0x10]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r9 - 0x10]
add rcx, r11
movzx edx, byte [rbp + rax - 0x10]
movzx eax, cl
movzx ecx, byte [rbp + rdx - 0x10]
xor cl, byte [rbp + rax - 0x10]
xor cl, r10b
test edi, edi
je 0x140167513
mov eax, dword [rsp + 0x58]
mov byte [rbp + rax - 0x20], cl
movsd xmm0, qword [0x1408ba230]
inc edi
movsd xmm1, qword [0x1408ba1d0]
add sil, r11b
movzx r11d, sil
inc r14b
lea r12d, [rdi + rdi]
movsxd rax, r12d
movzx r8d, byte [rax + rbx]
movzx eax, byte [rax + rbx + 1]
add r8b, 2
add al, 0x1a
movzx ebx, r10b
shl r8b, 4
or r8b, al
movzx eax, byte [rbp + r11 - 0x10]
movzx r10d, byte [rbp + rbx - 0x10]
mov byte [rbp + rbx - 0x10], al
movsd qword [rsp + 0x60], xmm0
movsd xmm0, qword [0x1408ba158]
movsd qword [rsp + 0x70], xmm1
movsd xmm1, qword [0x1408ba090]
movsd qword [rsp + 0x68], xmm0
movsd xmm0, qword [0x1408b9f70]
movsd qword [rsp + 0x58], xmm1
movsd xmm1, qword [0x1408b9e70]
movsd qword [rsp + 0x78], xmm0
movsd xmm0, qword [0x1408b9d78]
movsd qword [rsp + 0x50], xmm1
movsd qword [rsp + 0x48], xmm0
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x58]
addsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x48]
subsd xmm2, xmm0
movsd qword [rsp + 0x78], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x78]
addsd xmm2, xmm0
movsd qword [rsp + 0x78], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x60]
addsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm2, xmm0
movsd qword [rsp + 0x70], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
movsd xmm1, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x48]
comisd xmm0, xmm1
jbe 0x1401678e7
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x48]
divsd xmm1, xmm0
movsd qword [rsp + 0x78], xmm1
movsd xmm2, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x78]
divsd xmm2, xmm0
movsd qword [rsp + 0x68], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x78]
subsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x60]
subsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x78]
mulsd xmm1, xmm0
movsd qword [rsp + 0x78], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm2, xmm0
movsd qword [rsp + 0x70], 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 + 0x58]
addsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm2, xmm0
movsd qword [rsp + 0x68], xmm2
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x70]
subsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm2, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x78]
divsd xmm1, xmm0
movsd qword [rsp + 0x58], xmm1
movsd xmm2, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x70]
divsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x50]
comisd xmm0, xmm1
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x50]
jbe 0x140167850
divsd xmm1, xmm0
movzx r9d, cl
movsd qword [rsp + 0x78], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x48]
divsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x58]
subsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x78]
subsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x60]
divsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x58]
subsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
jmp 0x140167990
subsd xmm1, xmm0
movzx r9d, cl
movsd qword [rsp + 0x78], xmm1
movsd xmm2, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x48]
movsd xmm0, qword [rsp + 0x60]
subsd xmm1, xmm0
movsd qword [rsp + 0x48], xmm1
movsd xmm2, qword [rsp + 0x50]
movsd xmm0, qword [rsp + 0x48]
subsd xmm2, xmm0
movsd qword [rsp + 0x50], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
movsd xmm2, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x60]
addsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x70]
divsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
jmp 0x140167990
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm1, xmm0
movzx r9d, cl
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm2, xmm0
movsd qword [rsp + 0x58], xmm2
movsd xmm1, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x70]
mulsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
movsd xmm2, qword [rsp + 0x70]
movsd xmm0, qword [rsp + 0x60]
mulsd xmm2, xmm0
movsd qword [rsp + 0x60], xmm2
movsd xmm1, qword [rsp + 0x78]
movsd xmm0, qword [rsp + 0x58]
movzx eax, byte [rbp + r9 - 0x10]
mulsd xmm1, xmm0
mov byte [rbp + r11 - 0x10], al
movsd qword [rsp + 0x58], xmm1
movsd xmm1, qword [rsp + 0x58]
movsd xmm0, qword [rsp + 0x68]
mulsd xmm1, xmm0
movsd qword [rsp + 0x68], xmm1
movsd xmm2, qword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x70]
addsd xmm2, xmm0
movsd qword [rsp + 0x70], xmm2
movzx ecx, r14b
movzx eax, byte [rbp + rcx - 0x10]
mov byte [rbp + r9 - 0x10], al
mov byte [rbp + rcx - 0x10], r10b
add r15b, byte [rbp + r10 - 0x10]
movzx eax, r15b
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + rbx - 0x10]
add rcx, rax
movzx eax, byte [rbp + r9 - 0x10]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r11 - 0x10]
add rax, r10
movzx eax, al
movzx edx, byte [rbp + rcx - 0x10]
xor dl, byte [rbp + rax - 0x10]
xor dl, r8b
test edi, edi
je 0x1401679ed
mov eax, dword [rbp - 0x80]
mov byte [rbp + rax - 0x20], dl
lea ecx, [rdi + 1]
cmp ecx, 0x11
jge 0x140167ad7
mov r13d, reloc.WS2_32.dll_recvfrom
sub r13d, ecx
nop dword [rax]
nop word [rax + rax]
movzx r9d, r8b
lea rcx, [fcn.14087b015]
movzx r8d, dl
add r12d, 2
movsxd rax, r12d
add sil, r10b
movzx r10d, sil
inc r14b
movzx ebx, byte [rbp + r9 - 0x10]
mov dword [rsp + 0x58], edi
movzx r11d, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
add r11b, 0x1a
add al, 2
movzx ecx, r14b
shl al, 4
or r11b, al
movzx eax, byte [rbp + r10 - 0x10]
mov byte [rbp + r9 - 0x10], al
movzx eax, byte [rbp + r8 - 0x10]
mov byte [rbp + r10 - 0x10], al
movzx eax, byte [rbp + rcx - 0x10]
mov byte [rbp + r8 - 0x10], al
mov byte [rbp + rcx - 0x10], bl
add r15b, byte [rbp + rbx - 0x10]
movzx eax, r15b
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r9 - 0x10]
add rcx, rax
movzx eax, byte [rbp + r8 - 0x10]
add rcx, rax
movzx r8d, r11b
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x10]
movzx eax, byte [rbp + r10 - 0x10]
add rax, rbx
movzx eax, al
movzx edx, byte [rbp + rcx - 0x10]
xor dl, byte [rbp + rax - 0x10]
xor dl, r11b
add edi, 1
je 0x140167ac9
mov eax, dword [rsp + 0x58]
mov byte [rbp + rax - 0x20], dl
movzx r10d, bl
sub r13, 1
jne 0x140167a10
mov r15, qword [rbp - 0x60]
xor r13d, r13d
mov r12, qword [rbp - 0x58]
mov byte [rbp - 0x11], 0
movaps xmm9, xmmword [rsp + 0x340]
lea rcx, [rbp + 0x120]
movaps xmm8, xmmword [rsp + 0x350]
dec rcx
movaps xmm7, xmmword [rsp + 0x360]
movaps xmm6, xmmword [rsp + 0x370]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140167b12
lea r8, [rbp - 0x20]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140167b30
lea rcx, [rbp + 0x120]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x140167b50
lea r8, [rbp + 0xf0]
xor edx, edx
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [r8 + rdx]
mov byte [rcx + rdx], al
lea rdx, [rdx + 1]
test al, al
jne 0x140167b70
mov rax, qword [r15 + 0x120]
lea rcx, [rbp + 0x120]
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], r13d
xor edx, edx
mov dword [rsp + 0x20], 3
lea r8d, [r9 + 3]
call rax
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x140167bbf
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x140167cd3
mov rax, qword [r15 + 0x100]
lea rcx, [rbp - 0x74]
mov qword [rsp + 0x38], r13
lea r8, [rbp - 0x50]
mov qword [rsp + 0x30], rcx
mov r9d, recvfrom
lea rcx, [rbp - 0x68]
mov dword [rsp + 0x28], 8
mov qword [rsp + 0x20], rcx
mov edx, 0x2d1400
mov rcx, rsi
mov qword [rbp - 0x4c], 0
mov dword [rbp - 0x50], r13d
mov qword [rbp - 0x68], r13
mov dword [rbp - 0x74], r13d
call rax
test eax, eax
jne 0x140167c29
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x140167cd3
mov edi, dword [rbp - 0x64]
mov ecx, edi
call fcn.1400e1910
mov r8d, edi
xor edx, edx
mov rcx, rax
mov r14, rax
call fcn.14087f2b0
mov r10, qword [r15 + 0x100]
lea rax, [rbp - 0x74]
mov qword [rsp + 0x38], r13
lea r8, [rbp - 0x50]
mov qword [rsp + 0x30], rax
mov r9d, recvfrom
mov dword [rsp + 0x28], edi
mov edx, 0x2d1400
mov rcx, rsi
mov qword [rsp + 0x20], r14
call r10
test eax, eax
jne 0x140167c97
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r14
mov ebx, eax
call fcn.14087be8c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x140167cd3
mov eax, dword [r14 + 0x18]
test eax, eax
je 0x140167cc0
lea rdx, [r14 + rax]
lea rcx, [rbp - 0x40]
call fcn.1400bf980
mov rdx, rax
mov rcx, r12
call fcn.14010e2b0
lea rcx, [rbp - 0x40]
call fcn.1400bb000
mov rcx, r14
call fcn.14087be8c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov r14, qword [rsp + 0x380]
mov rdi, qword [rsp + 0x3d8]
mov rcx, qword [rbp + 0x220]
xor rcx, rsp
call fcn.14087bc90
add rsp, 0x388
pop r15
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret