Function at 0x140018240
Capabilities:
Get session user name

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
push rbp
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x190]
sub rsp, 0x290
mov rax, qword [0x1400a5028]
xor rax, rsp
mov qword [rbp + 0x180], rax
mov rdi, rcx
mov qword [rsp + 0x28], rcx
xor r12d, r12d
mov dword [rsp + 0x24], r12d
mov dword [rsp + 0x20], 0x101
lea rdx, [rsp + 0x20]
lea rcx, [rsp + 0x70]
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
xorps xmm0, xmm0
movups xmmword [rdi], xmm0
mov qword [rdi + 0x10], r12
mov qword [rdi + 0x18], recvfrom
mov byte [rdi], r12b
mov dword [rsp + 0x24], 1
movups xmmword [rsp + 0x50], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x60], xmm1
lea rax, [rsp + 0x70]
mov r8, 0xffffffffffffffff
inc r8
cmp word [rax + r8*2], 0
jne 0x1400182d1
lea rdx, [rsp + 0x70]
lea rcx, [rsp + 0x50]
call fcn.1400081f0
nop
lea rcx, [rsp + 0x50]
mov r8, qword [rsp + 0x68]
cmp r8, 8
cmovae rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
lea r15, [rcx + rax*2]
lea rsi, [rsp + 0x50]
cmovae rsi, qword [rsp + 0x50]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
cmp rsi, r15
jne 0x14001833a
mov eax, recvfrom
mov qword [rsp + 0x48], rax
mov byte [rsp + 0x30], 0
jmp 0x140018443
mov rax, r15
sub rax, rsi
sar rax, 1
mov r14, r12
mov ebx, recvfrom
mov qword [rsp + 0x48], rbx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
ja 0x140018563
cmp rax, 0x10
jb 0x1400183f0
mov rbx, rax
or rbx, 0xf
cmp rbx, rcx
jbe 0x1400183ac
mov rbx, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140056ce0
mov rcx, rax
test rax, rax
je 0x140018569
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400183e3
mov eax, socket
cmp rbx, rax
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400183d4
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14001855d
jmp 0x14001838a
test rcx, rcx
je 0x1400183e0
call fcn.140056ce0
jmp 0x1400183e3
mov rax, r12
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x48], rbx
nop dword [rax]
lea rcx, [rsp + 0x30]
cmp rbx, 0x10
cmovae rcx, qword [rsp + 0x30]
movzx eax, byte [rsi]
mov byte [r14 + rcx], al
mov r14, qword [rsp + 0x40]
inc r14
mov qword [rsp + 0x40], r14
add rsi, 2
cmp rsi, r15
je 0x140018423
mov rbx, qword [rsp + 0x48]
jmp 0x1400183f0
lea rax, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae rax, qword [rsp + 0x30]
mov byte [r14 + rax], 0
mov r8, qword [rsp + 0x68]
mov rax, qword [rsp + 0x48]
lea rcx, [rsp + 0x30]
cmp rdi, rcx
je 0x1400184b2
mov rdx, qword [rdi + 0x18]
cmp rdx, 0x10
jb 0x14001848c
mov rcx, qword [rdi]
inc rdx
cmp rdx, 0x1000
jb 0x140018482
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140018569
mov rcx, r8
call fcn.140056f74
mov r8, qword [rsp + 0x68]
mov qword [rdi + 0x18], recvfrom
mov byte [rdi], 0
movups xmm0, xmmword [rsp + 0x30]
movups xmmword [rdi], xmm0
movups xmm1, xmmword [rsp + 0x40]
movups xmmword [rdi + 0x10], xmm1
mov eax, recvfrom
mov byte [rsp + 0x30], 0
cmp rax, 0x10
jb 0x1400184f0
lea rdx, [rax + 1]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400184e6
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018569
call fcn.140056f74
mov r8, qword [rsp + 0x68]
cmp r8, 8
jb 0x140018529
lea rdx, [r8*2 + 2]
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140018524
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140018557
call fcn.140056f74
mov rax, rdi
mov rcx, qword [rbp + 0x180]
xor rcx, rsp
call fcn.140056cc0
lea r11, [rsp + 0x290]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rbp
ret
call fcn.140062080
nop
call fcn.140001d80
int3
call fcn.140001e20
int3
call fcn.140062080
int3