Function at 0x1400ace68
Capabilities:
Get hostname

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x58
mov qword [rbp - 0x18], 0xfffffffffffffffe
mov rsi, rcx
lea r15, [0x140106190]
lea r13, [0x1400e6e58]
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x1400acec1
test byte [rcx + 0x1c], 1
je 0x1400acec1
cmp byte [rcx + 0x19], 5
jb 0x1400acec1
mov edx, SafeArrayDestroy
mov r9, rsi
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003620
lea rbx, [rsi + 0x48]
mov edx, dword [rbx]
xor r14d, r14d
test edx, edx
je 0x1400acee5
mov rcx, qword [0x14010be78]
mov rax, qword [rcx]
mov rax, qword [rax + 0x20]
call qword [case.0x14006d218.0]
mov dword [rbx], r14d
mov qword [rbp + 0x58], r14
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [0x1400e6e48]
xor edx, edx
lea r8d, [rdx + 0x17]
lea rcx, [0x1400e6e38]
call qword [sym.imp.ole32.dll_CoCreateInstance]
mov edi, eax
test eax, eax
jns 0x1400acf66
mov r10, qword [0x140106190]
cmp r10, r15
je 0x1400acf47
test byte [r10 + 0x1c], 2
je 0x1400acf47
cmp byte [r10 + 0x19], 2
jb 0x1400acf47
mov edx, SafeArrayDestroy
mov r9d, eax
mov r8, r13
mov rcx, qword [r10 + 0x10]
call fcn.1400035ec
mov r10, qword [0x140106190]
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400ad37c
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006d218.0]
jmp 0x1400ad375
mov r8, qword [rbp + 0x58]
lea rdx, [0x1400e6e48]
mov rcx, rbx
call fcn.1400be7b8
mov edi, eax
test eax, eax
jns 0x1400acf8e
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400ad375
jmp 0x1400acf54
mov rcx, qword [0x140106190]
cmp rcx, r15
je 0x1400acfb7
test byte [rcx + 0x1c], 2
je 0x1400acfb7
cmp byte [rcx + 0x19], 5
jb 0x1400acfb7
mov edx, reloc.OLEAUT32.dll_SafeArrayDestroy
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003538
mov rcx, rsi
call fcn.1400ad4f0
mov edi, eax
test eax, eax
js 0x1400acf7f
mov rax, qword [str.Xr_r_]
lea rcx, str.Xr_r_
mov rax, qword [rax + 0x18]
call qword [case.0x14006d218.0]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x60], rbx
mov r12d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov dword [rbp + 0x48], r12d
lea ecx, [r12 - 0xf]
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, r12d
or eax, ecx
jge 0x1400ad011
mov edx, r12d
lea rcx, [rbp + 0x60]
call fcn.140004de0
mov rbx, qword [rbp + 0x60]
cmp dword [rbx - 0xc], r12d
jl 0x1400ad3fa
mov dword [rbx - 0x10], r12d
mov word [rbx + 0x20], r14w
lea rdx, [rbp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetComputerNameW]
or r15, 0xffffffffffffffff
test eax, eax
je 0x1400ad098
mov rax, r15
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1400ad03c
test eax, eax
js 0x1400ad3c3
cmp eax, dword [rbx - 0xc]
jg 0x1400ad3c3
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r14w
mov rcx, qword [0x140106190]
lea rdx, [0x140106190]
cmp rcx, rdx
je 0x1400ad0fb
test byte [rcx + 0x1c], 2
je 0x1400ad0fb
cmp byte [rcx + 0x19], 5
jb 0x1400ad0fb
mov edx, r12d
mov r9, rbx
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003558
jmp 0x1400ad0fb
cmp dword [rbx - 0xc], r14d
jl 0x1400ad3ef
mov dword [rbx - 0x10], r14d
mov word [rbx], r14w
call qword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov ecx, 0x80004005
test edi, edi
cmovns edi, ecx
mov rcx, qword [0x140106190]
lea rdx, [0x140106190]
cmp rcx, rdx
je 0x1400ad0fb
test byte [rcx + 0x1c], 2
je 0x1400ad0fb
cmp byte [rcx + 0x19], 2
jb 0x1400ad0fb
mov edx, SafeArrayUnlock
mov r9d, eax
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.1400035ec
lea rcx, [rbp + 0x60]
call fcn.1400336f0
mov rax, qword [str.Xr_r_]
lea rcx, str.Xr_r_
mov rax, qword [rax + 0x18]
call qword [case.0x14006d218.0]
lea rbx, [rax + 0x18]
mov qword [rbp + 0x50], rbx
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
mov r12d, 0x105
sub eax, r12d
or eax, ecx
jge 0x1400ad14c
mov edx, r12d
lea rcx, [rbp + 0x50]
call fcn.140004de0
mov rbx, qword [rbp + 0x50]
cmp dword [rbx - 0xc], r12d
jl 0x1400ad3e4
mov dword [rbx - 0x10], r12d
mov word [rbx + 0x20a], r14w
mov r8d, r12d
mov rdx, rbx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x1400ad22c
mov rax, r15
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1400ad17b
test eax, eax
js 0x1400ad3d9
cmp eax, dword [rbx - 0xc]
jg 0x1400ad3d9
mov dword [rbx - 0x10], eax
cdqe
mov word [rbx + rax*2], r14w
mov rax, r15
inc rax
cmp word [rbx + rax*2], r14w
jne 0x1400ad1a3
cdqe
lea rcx, [rbx + rax*2]
jmp 0x1400ad1bf
cmp word [rcx], 0x5c
je 0x1400ad1c8
sub rcx, 2
cmp rcx, rbx
jne 0x1400ad1b5
cmp word [rcx], 0x5c
cmovne rcx, r14
test rcx, rcx
je 0x1400ad22c
sub rcx, rbx
sar rcx, 1
cmp ecx, r15d
je 0x1400ad22c
mov r8d, dword [rbx - 0x10]
sub r8d, ecx
dec r8d
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x50]
call fcn.140061bc8
nop
mov rdx, rax
lea rcx, [rbp + 0x50]
call fcn.140004bbc
nop
mov rdx, qword [rbp - 0x20]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400ad228
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006d218.0]
mov rbx, qword [rbp + 0x50]
mov rax, qword [str.Xr_r_]
lea rcx, str.Xr_r_
mov rax, qword [rax + 0x18]
call qword [case.0x14006d218.0]
add rax, 0x18
mov qword [rbp - 0x28], rax
mov r9, qword [rbp + 0x60]
mov r8, rbx
lea rdx, str._ls___ls_
lea rcx, [rbp - 0x28]
call fcn.140008b90
mov rbx, qword [rbp - 0x28]
mov rcx, qword [0x140106190]
lea rax, [0x140106190]
cmp rcx, rax
je 0x1400ad29a
test byte [rcx + 0x1c], 2
je 0x1400ad29a
cmp byte [rcx + 0x19], 5
jb 0x1400ad29a
mov edx, SafeArrayUnlock
mov r9, rbx
mov r8, r13
mov rcx, qword [rcx + 0x10]
call fcn.140003558
mov rax, qword [rsi + 0x80]
cmp rbx, rax
je 0x1400ad2d9
mov rcx, rax
call qword [sym.imp.OLEAUT32.dll_SysStringLen]
test rbx, rbx
je 0x1400ad2cf
mov rcx, rbx
call qword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov qword [rsi + 0x80], rax
test rax, rax
je 0x1400ad3ce
jmp 0x1400ad2d9
mov qword [rsi + 0x80], r14
mov rax, r14
mov ecx, 0x8007000e
test rax, rax
cmove edi, ecx
lea rdx, [rbx - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400ad308
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006d218.0]
nop
mov rdx, qword [rbp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400ad330
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006d218.0]
nop
mov rdx, qword [rbp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
add eax, r15d
test eax, eax
jg 0x1400ad358
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14006d218.0]
nop
mov rcx, qword [rbp + 0x58]
test rcx, rcx
je 0x1400ad36e
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
call qword [case.0x14006d218.0]
lea r15, [0x140106190]
mov r10, qword [0x140106190]
cmp r10, r15
je 0x1400ad3b0
test byte [r10 + 0x1c], 1
je 0x1400ad3b0
mov ecx, edi
sar ecx, 0x1f
and ecx, 0xfffffffd
add ecx, 5
movzx eax, byte [r10 + 0x19]
cmp eax, ecx
jl 0x1400ad3b0
mov edx, SafeArrayUnlock
mov r9d, edi
mov r8, r13
mov rcx, qword [r10 + 0x10]
call fcn.1400035ec
mov eax, edi
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.140004f64
nop
mov ecx, 0x8007000e
call fcn.140004f64
nop
mov ecx, 0x80070057
call fcn.140004f64
int3
mov ecx, 0x80070057
call fcn.140004f64
nop
mov ecx, 0x80070057
call fcn.140004f64
int3
mov ecx, 0x80070057
call fcn.140004f64
int3