Function at 0x14015d8f0
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 - 0x2a8]
sub rsp, 0x3a8
mov rax, qword [0x140a7a0a8]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov ebx, edx
mov qword [rsp + 0x78], rcx
mov r15, rcx
mov qword [rbp - 0x80], r8
lea rdx, [0x1408e5ae0]
mov rcx, r8
mov r12, r8
call fcn.140154180
xorps xmm0, xmm0
lea rcx, [rbp + 0x100]
xor eax, eax
xor edx, edx
mov r8d, 0x100
mov word [rbp + 0xf0], ax
movups xmmword [rbp + 0xd0], xmm0
movups xmmword [rbp + 0xe0], xmm0
call fcn.1408affc0
mov r8d, 0xa
lea rdx, [rbp + 0xd0]
mov ecx, ebx
call fcn.1408b678c
lea rcx, [rbp + 0x100]
dec rcx
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14015d986
movzx eax, word [0x1408e98dc]
xorps xmm3, xmm3
movsd xmm4, qword [0x1408ea218]
mov word [rcx], ax
movzx eax, byte [0x1408e98de]
mov byte [rcx + 2], al
movsd qword [rsp + 0x60], xmm3
movsd qword [rsp + 0x58], xmm3
movaps xmmword [rsp + 0x390], xmm6
movsd qword [rsp + 0x60], xmm3
movaps xmmword [rsp + 0x380], xmm7
movsd qword [rsp + 0x58], xmm3
movaps xmmword [rsp + 0x370], xmm8
movsd qword [rsp + 0x58], xmm3
movsd xmm0, qword [rsp + 0x58]
comisd xmm4, xmm0
movaps xmmword [rsp + 0x360], xmm9
movaps xmmword [rsp + 0x350], xmm10
jbe 0x14015dad1
movsd xmm7, qword [0x1408e9ab8]
movsd xmm8, qword [0x1408e5dc0]
movsd xmm9, qword [0x1408e99f8]
movsd xmm10, qword [0x1408e9a10]
movsd xmm5, qword [0x1408e9920]
movsd xmm6, qword [0x1408e4240]
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 [rsp + 0x60]
movsd qword [rsp + 0x60], xmm2
movsd xmm0, qword [rsp + 0x60]
comisd xmm0, xmm10
jbe 0x14015dab1
movsd xmm1, qword [rsp + 0x60]
movsd xmm0, qword [rsp + 0x58]
mulsd xmm0, xmm5
subsd xmm1, xmm0
movsd qword [rsp + 0x60], xmm1
movsd xmm0, qword [rsp + 0x58]
addsd xmm0, xmm6
movsd qword [rsp + 0x58], xmm0
movsd xmm1, qword [rsp + 0x58]
comisd xmm4, xmm1
ja 0x14015da40
movsd xmm0, qword [rsp + 0x60]
xor r13d, r13d
comisd xmm3, xmm0
mov qword [rsp + 0x3f8], rdi
mov qword [rsp + 0x3a0], r14
jbe 0x14015daff
call fcn.1408abdd9
call fcn.1408abdf9
jmp 0x14015e8a3
movss xmm0, dword [0x1408ea6e0]
movss xmm1, dword [0x1408ea650]
movss dword [rsp + 0x44], xmm0
movss xmm0, dword [0x1408ea554]
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [0x1408ea440]
movss dword [rsp + 0x48], xmm0
movss xmm0, dword [0x1408e6928]
movss dword [rsp + 0x4c], xmm1
movss dword [rsp + 0x50], xmm0
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x44]
mulss xmm1, xmm0
movss dword [rsp + 0x44], 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 + 0x48]
mulss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x44]
mulss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
subss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x44]
comiss xmm0, xmm1
jbe 0x14015dc37
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x44]
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movss xmm1, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x44]
addss xmm1, xmm0
movss dword [rsp + 0x44], xmm1
jmp 0x14015ddfc
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x4c]
subss 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 + 0x4c]
movss xmm0, dword [rsp + 0x44]
addss xmm1, xmm0
movss dword [rsp + 0x4c], xmm1
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x44]
divss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
movss xmm1, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x44]
addss xmm1, xmm0
movss dword [rsp + 0x4c], xmm1
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x44]
subss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
movss xmm1, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x44]
mulss xmm1, xmm0
movss dword [rsp + 0x44], xmm1
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
comiss xmm1, xmm0
movss xmm1, dword [rsp + 0x4c]
jbe 0x14015dd94
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x44]
mulss xmm1, xmm0
movss dword [rsp + 0x4c], xmm1
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x44]
mulss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
jmp 0x14015ddfc
movss xmm0, dword [rsp + 0x50]
divss xmm1, xmm0
movss dword [rsp + 0x4c], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x4c]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x44]
addss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x4c]
addss xmm1, xmm0
movss dword [rsp + 0x4c], xmm1
mov eax, r13d
lea rcx, [rbp - 0x40]
nop dword [rax]
nop word [rax + rax]
mov byte [rcx], al
lea rcx, [rcx + 1]
inc eax
cmp eax, 0x100
jb 0x14015de10
mov r9d, r13d
lea r14, [fcn.1408abdf9]
xor cl, cl
mov esi, 1
mov r10d, 0xff
nop word [rax + rax]
mov edi, r13d
mov r11d, esi
cmp r10d, esi
jbe 0x14015de60
nop dword [rax + rax]
lea r11d, [r11*2 + 1]
cmp r11d, r10d
jb 0x14015de50
nop dword [rax]
movzx eax, cl
movzx edx, byte [rbp + rax - 0x40]
mov eax, r9d
test r9d, r9d
je 0x14015deb7
sub eax, esi
je 0x14015dea7
sub eax, esi
je 0x14015de97
cmp eax, esi
je 0x14015de87
lea eax, [r9 - 4]
movzx eax, byte [rax + r14]
jmp 0x14015dec2
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
shr eax, 0x18
jmp 0x14015dec2
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
shr eax, 0x10
jmp 0x14015dec2
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
shr eax, 8
jmp 0x14015dec2
movsd xmm0, qword [rsp + 0x60]
cvttsd2si rax, xmm0
add dl, al
lea r8d, [r9 + 1]
cmp r8d, 0x23
mov r9d, r13d
cmovb r9d, r8d
lea eax, [rdx + 0x23]
movzx ecx, al
cmovb ecx, edx
inc edi
movzx ebx, cl
mov eax, ebx
and eax, r11d
cmp edi, 0xb
jbe 0x14015def2
xor edx, edx
div r10d
mov eax, edx
movzx ecx, bl
cmp eax, r10d
ja 0x14015de60
je 0x14015df1f
mov edx, eax
mov ecx, r10d
movzx eax, byte [rbp + rdx - 0x40]
xor al, byte [rbp + rcx - 0x40]
mov byte [rbp + rcx - 0x40], al
xor byte [rbp + rdx - 0x40], al
movzx eax, byte [rbp + rdx - 0x40]
xor byte [rbp + rcx - 0x40], al
movzx ecx, bl
add r10d, 0xffffffff
jne 0x14015de40
movzx r9d, byte [rbp + rbx - 0x40]
lea r15, [fcn.1408abdd9]
movzx eax, byte [rbp - 0x3f]
movzx edx, byte [rbp - 0x39]
movzx r14d, byte [rbp - 0x3d]
movzx r10d, byte [rbp + r9 - 0x40]
add r14b, byte [rbp + rax - 0x40]
lea ebx, [rax + 1]
movzx edi, byte [rbp - 0x3b]
movzx ecx, byte [r15 + 1]
movzx r11d, byte [r15]
sub cl, 0x62
movzx r12d, byte [r15 + 2]
sub r11b, 3
movzx r8d, r14b
sub r12b, 3
shl r11b, 4
add r14b, r10b
or r11b, cl
shl r12b, 4
movzx ecx, bl
inc bl
movzx eax, byte [rbp + r8 - 0x40]
mov byte [rbp + r9 - 0x40], al
movzx eax, byte [rbp + rdx - 0x40]
mov byte [rbp + r8 - 0x40], al
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + rdx - 0x40], al
mov byte [rbp + rcx - 0x40], r10b
add dil, byte [rbp + r10 - 0x40]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r9 - 0x40]
add rcx, rax
movzx r9d, r11b
movzx eax, byte [rbp + rdx - 0x40]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r8 - 0x40]
add rcx, r10
movzx r10d, r14b
movzx edx, byte [rbp + rax - 0x40]
movzx eax, cl
movzx ecx, byte [r15 + 3]
sub cl, 0x62
movzx r8d, byte [rbp + rdx - 0x40]
or r12b, cl
xor r8b, byte [rbp + rax - 0x40]
movzx edx, byte [rbp + r9 - 0x40]
xor r8b, r11b
movzx eax, byte [rbp + r10 - 0x40]
mov byte [rbp + r9 - 0x40], al
movzx r8d, r8b
movzx ecx, bl
mov byte [rsp + 0x54], dl
movzx eax, byte [rbp + r8 - 0x40]
mov byte [rbp + r10 - 0x40], al
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + r8 - 0x40], al
mov byte [rbp + rcx - 0x40], dl
add dil, byte [rbp + rdx - 0x40]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r9 - 0x40]
add rcx, rax
movzx eax, byte [rbp + r8 - 0x40]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r10 - 0x40]
add rax, rdx
movzx eax, al
movzx edx, byte [rbp + rcx - 0x40]
xor dl, byte [rbp + rax - 0x40]
mov eax, 2
xor dl, r12b
mov byte [rbp + 0xc0], dl
lea r13d, [rax + 3]
nop dword [rax]
nop word [rax + rax]
add r14b, byte [rsp + 0x54]
add eax, 2
mov dword [rsp + 0x40], eax
inc bl
cdqe
movzx r8d, dl
movzx r10d, r12b
movzx r9d, r14b
movzx r11d, byte [rax + r15]
movzx eax, byte [rax + r15 + 1]
sub r11b, 3
movzx r15d, byte [rbp + r10 - 0x40]
sub al, 0x62
movzx ecx, bl
shl r11b, 4
or r11b, al
mov dword [rsp + 0x58], esi
movzx eax, byte [rbp + r9 - 0x40]
movzx r12d, r11b
mov byte [rbp + r10 - 0x40], al
movzx eax, byte [rbp + r8 - 0x40]
mov byte [rbp + r9 - 0x40], al
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + r8 - 0x40], al
mov byte [rbp + rcx - 0x40], r15b
add dil, byte [rbp + r15 - 0x40]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r8 - 0x40]
add rcx, rax
movzx eax, byte [rbp + r10 - 0x40]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r9 - 0x40]
add rax, r15
movzx eax, al
movzx edx, byte [rbp + rcx - 0x40]
xor dl, byte [rbp + rax - 0x40]
xor dl, r11b
add esi, 1
je 0x14015e14a
mov eax, dword [rsp + 0x58]
mov byte [rbp + rax + 0xc0], dl
mov eax, dword [rsp + 0x40]
mov byte [rsp + 0x54], r15b
lea r15, [fcn.1408abdd9]
sub r13, 1
jne 0x14015e090
lea ecx, [rsi + 1]
cmp ecx, 0xe
jge 0x14015e683
movss xmm3, dword [0x1408ea6d4]
lea r15d, [rsi + rsi]
movss xmm4, dword [0x1408ea64c]
mov r13d, reloc.WLDAP32.dll_Ordinal_14
movss xmm5, dword [0x1408ea58c]
sub r13d, ecx
movss xmm6, dword [0x1408ea4ac]
movss xmm7, dword [0x1408ea3d0]
movss xmm8, dword [0x1408ea2e0]
movss xmm9, dword [0x1408ea608]
movss xmm10, dword [0x1408ea558]
movaps xmmword [rsp + 0x340], xmm11
movss xmm11, dword [0x1408ea4b0]
movaps xmmword [rsp + 0x330], xmm12
movss xmm12, dword [0x1408ea40c]
movaps xmmword [rsp + 0x320], xmm13
movss xmm13, dword [0x1408ea360]
movaps xmmword [rsp + 0x310], xmm14
movss xmm14, dword [0x1408ea29c]
nop dword [rax + rax]
movss dword [rsp + 0x48], xmm3
movss dword [rsp + 0x4c], xmm4
movss dword [rsp + 0x58], xmm5
movss dword [rsp + 0x50], xmm6
movss dword [rsp + 0x44], xmm7
movss dword [rsp + 0x40], xmm8
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
mulss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x4c], 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 + 0x50]
addss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x44], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x48]
comiss xmm1, xmm0
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
jbe 0x14015e350
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x4c]
mulss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x44]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x4c]
subss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x44]
subss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x48]
addss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
jmp 0x14015e3ce
mulss xmm1, xmm0
inc esi
add r15d, 2
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x4c]
subss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x48]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x44], xmm1
movss xmm2, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x44]
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movsxd rax, r15d
lea rcx, [fcn.1408abdd9]
movzx r11d, r12b
movzx r10d, byte [rax + rcx]
movzx eax, byte [rax + rcx + 1]
sub r10b, 3
movzx r12d, byte [rbp + r11 - 0x40]
sub al, 0x62
movss dword [rsp + 0x4c], xmm9
movss dword [rsp + 0x48], xmm10
movss dword [rsp + 0x40], xmm11
movss dword [rsp + 0x50], xmm12
movss dword [rsp + 0x58], xmm13
movss dword [rsp + 0x44], xmm14
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x44]
subss xmm1, xmm0
shl r10b, 4
or r10b, al
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x50]
mulss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x40]
addss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x4c]
mulss xmm2, xmm0
movss dword [rsp + 0x4c], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x48]
addss xmm1, xmm0
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x44]
subss xmm2, xmm0
movss dword [rsp + 0x50], xmm2
movss xmm1, dword [rsp + 0x4c]
movss xmm0, dword [rsp + 0x44]
comiss xmm1, xmm0
jbe 0x14015e54f
movss xmm1, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x40]
subss xmm1, xmm0
movzx eax, bl
inc bl
movss dword [rsp + 0x48], xmm1
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x4c]
addss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movss xmm1, dword [rsp + 0x40]
movss xmm0, dword [rsp + 0x50]
add r14b, byte [rbp + rax - 0x40]
subss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x4c]
subss xmm1, xmm0
movss dword [rsp + 0x44], xmm1
movss xmm2, dword [rsp + 0x50]
movss xmm0, dword [rsp + 0x40]
addss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x4c]
mulss xmm1, xmm0
movss dword [rsp + 0x44], xmm1
jmp 0x14015e5d3
movss xmm1, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
mulss xmm1, xmm0
movss dword [rsp + 0x40], xmm1
movss xmm2, dword [rsp + 0x48]
movss xmm0, dword [rsp + 0x50]
divss xmm2, xmm0
movss dword [rsp + 0x48], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x50]
addss xmm1, xmm0
movss dword [rsp + 0x50], xmm1
movss xmm2, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x48]
subss xmm2, xmm0
movss dword [rsp + 0x44], xmm2
movss xmm1, dword [rsp + 0x44]
movss xmm0, dword [rsp + 0x48]
mulss xmm1, xmm0
movss dword [rsp + 0x44], xmm1
movss xmm2, dword [rsp + 0x58]
movss xmm0, dword [rsp + 0x40]
mulss xmm2, xmm0
movss dword [rsp + 0x40], xmm2
movzx r8d, dl
movzx r9d, r14b
movzx ecx, bl
movzx eax, byte [rbp + r9 - 0x40]
mov byte [rbp + r11 - 0x40], al
movzx eax, byte [rbp + r8 - 0x40]
mov byte [rbp + r9 - 0x40], al
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + r8 - 0x40], al
mov byte [rbp + rcx - 0x40], r12b
add dil, byte [rbp + r12 - 0x40]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r8 - 0x40]
add rcx, rax
movzx eax, byte [rbp + r11 - 0x40]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r9 - 0x40]
add rax, r12
movzx r12d, r10b
movzx eax, al
movzx edx, byte [rbp + rcx - 0x40]
xor dl, byte [rbp + rax - 0x40]
xor dl, r10b
test esi, esi
je 0x14015e655
lea eax, [rsi - 1]
mov byte [rbp + rax + 0xc0], dl
sub r13, 1
jne 0x14015e210
movaps xmm14, xmmword [rsp + 0x310]
movaps xmm13, xmmword [rsp + 0x320]
movaps xmm12, xmmword [rsp + 0x330]
movaps xmm11, xmmword [rsp + 0x340]
movzx edx, dl
lea rcx, [fcn.1408abdd9]
movzx r9d, r12b
mov r11d, esi
inc esi
mov r13d, esi
movzx r15d, byte [rbp + r9 - 0x40]
lea eax, [rsi + rsi]
cdqe
movzx r10d, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
sub r10b, 0x62
sub al, 3
shl al, 4
or r10b, al
movzx eax, bl
inc bl
movzx ecx, bl
add r14b, byte [rbp + rax - 0x40]
movzx r8d, r14b
movzx eax, byte [rbp + r8 - 0x40]
mov byte [rbp + r9 - 0x40], al
movzx eax, byte [rbp + rdx - 0x40]
mov byte [rbp + r8 - 0x40], al
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + rdx - 0x40], al
mov byte [rbp + rcx - 0x40], r15b
add dil, byte [rbp + r15 - 0x40]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r9 - 0x40]
add rcx, rax
movzx eax, byte [rbp + rdx - 0x40]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r8 - 0x40]
add rcx, r15
movzx edx, byte [rbp + rax - 0x40]
movzx eax, cl
movzx ecx, byte [rbp + rdx - 0x40]
xor cl, byte [rbp + rax - 0x40]
xor cl, r10b
test esi, esi
je 0x14015e739
mov byte [rbp + r11 + 0xc0], cl
inc esi
movzx r9d, r10b
lea rdx, [fcn.1408abdd9]
mov r12d, esi
add r14b, r15b
inc bl
movzx r8d, r14b
movzx r10d, byte [rbp + r9 - 0x40]
lea eax, [rsi + rsi]
cdqe
movzx r11d, byte [rax + rdx + 1]
movzx eax, byte [rax + rdx]
sub r11b, 0x62
movzx edx, cl
sub al, 3
shl al, 4
or r11b, al
movzx ecx, bl
movzx eax, byte [rbp + r8 - 0x40]
mov byte [rbp + r9 - 0x40], al
movzx eax, byte [rbp + rdx - 0x40]
mov byte [rbp + r8 - 0x40], al
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + rdx - 0x40], al
mov byte [rbp + rcx - 0x40], r10b
add dil, byte [rbp + r10 - 0x40]
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + rdx - 0x40]
add rcx, rax
movzx eax, byte [rbp + r9 - 0x40]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + r8 - 0x40]
add rcx, r10
movzx edx, byte [rbp + rax - 0x40]
movzx eax, cl
movzx ecx, byte [rbp + rdx - 0x40]
xor cl, byte [rbp + rax - 0x40]
xor cl, r11b
test esi, esi
je 0x14015e7e7
mov byte [rbp + r13 + 0xc0], cl
add r10b, r14b
movzx r9d, r11b
movzx r11d, r10b
inc bl
movzx r10d, cl
movzx ecx, bl
movzx edx, byte [rbp + r9 - 0x40]
movzx eax, byte [rbp + r11 - 0x40]
mov byte [rbp + r9 - 0x40], al
movzx eax, byte [rbp + r10 - 0x40]
mov byte [rbp + r11 - 0x40], al
movzx eax, byte [rbp + rcx - 0x40]
mov byte [rbp + r10 - 0x40], al
mov byte [rbp + rcx - 0x40], dl
add esi, 1
je 0x14015e890
mov r8d, edx
lea rcx, [fcn.1408abdd9]
lea eax, [rsi + rsi]
cdqe
add dil, byte [rbp + r8 - 0x40]
movzx edx, byte [rax + rcx + 1]
movzx eax, byte [rax + rcx]
sub dl, 0x62
sub al, 3
shl al, 4
or dl, al
movzx eax, dil
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r9 - 0x40]
add rcx, rax
movzx eax, byte [rbp + r10 - 0x40]
add rcx, rax
movzx eax, cl
movzx ecx, byte [rbp + rax - 0x40]
movzx eax, byte [rbp + r11 - 0x40]
add rax, r8
xor dl, byte [rbp + rcx - 0x40]
movzx ecx, al
xor dl, byte [rbp + rcx - 0x40]
mov byte [rbp + r12 + 0xc0], dl
mov r15, qword [rsp + 0x78]
xor r13d, r13d
mov r12, qword [rbp - 0x80]
mov byte [rbp + 0xcf], 0
movaps xmm10, xmmword [rsp + 0x350]
lea rcx, [rbp + 0x100]
movaps xmm9, xmmword [rsp + 0x360]
dec rcx
movaps xmm8, xmmword [rsp + 0x370]
movaps xmm7, xmmword [rsp + 0x380]
movaps xmm6, xmmword [rsp + 0x390]
nop dword [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14015e8e0
lea r8, [rbp + 0xc0]
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 0x14015e900
lea rcx, [rbp + 0x100]
dec rcx
nop word [rax + rax]
cmp byte [rcx + 1], 0
lea rcx, [rcx + 1]
jne 0x14015e920
lea r8, [rbp + 0xd0]
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 0x14015e940
mov rax, qword [r15 + 0x120]
lea rcx, [rbp + 0x100]
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 0x14015e98f
call qword [sym.imp.KERNEL32.dll_GetLastError]
jmp 0x14015eaa9
mov rax, qword [r15 + 0x100]
lea rcx, [rsp + 0x68]
mov qword [rsp + 0x38], r13
lea r8, [rbp - 0x78]
mov qword [rsp + 0x30], rcx
mov r9d, recvfrom
lea rcx, [rsp + 0x70]
mov dword [rsp + 0x28], 8
mov qword [rsp + 0x20], rcx
mov edx, 0x2d1400
mov rcx, rsi
mov qword [rbp - 0x74], 0
mov dword [rbp - 0x78], r13d
mov qword [rsp + 0x70], r13
mov dword [rsp + 0x68], r13d
call rax
test eax, eax
jne 0x14015e9fd
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rsi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x14015eaa9
mov edi, dword [rsp + 0x74]
mov ecx, edi
call fcn.1400e3e10
mov r8d, edi
xor edx, edx
mov rcx, rax
mov r14, rax
call fcn.1408affc0
mov r10, qword [r15 + 0x100]
lea rax, [rsp + 0x68]
mov qword [rsp + 0x38], r13
lea r8, [rbp - 0x78]
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 0x14015ea6d
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, r14
mov ebx, eax
call fcn.1408acb9c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x14015eaa9
mov eax, dword [r14 + 0x18]
test eax, eax
je 0x14015ea96
lea rdx, [r14 + rax]
lea rcx, [rbp - 0x68]
call fcn.1400be8e0
mov rdx, rax
mov rcx, r12
call fcn.14010a7f0
lea rcx, [rbp - 0x68]
call fcn.1400b9f60
mov rcx, r14
call fcn.1408acb9c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
mov r14, qword [rsp + 0x3a0]
mov rdi, qword [rsp + 0x3f8]
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.1408ac9a0
add rsp, 0x3a8
pop r15
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret