Function at 0x1400896a0
Capabilities:
Get hostname

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x298
movaps xmmword [rsp + 0x280], xmm6
mov rsi, rcx
mov rax, qword [0x140219028]
xor rax, rsp
mov qword [rsp + 0x278], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x28], rax
mov qword [rcx + 0x10], rax
movaps xmm6, xmmword [0x1401ee3a0]
movups xmmword [rcx], xmm6
cmp byte [rdx + 0x17], 0
js 0x140089766
mov rax, qword [rdx + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rsi], xmm0
movzx edx, byte [rsi + 0x17]
mov ecx, edx
and ecx, 0x7f
test dl, dl
mov rax, qword [rsi + 8]
mov r8, rcx
cmovs r8, rax
test r8, r8
je 0x140089d3d
mov r8d, edx
and r8d, 0x7e
test dl, dl
cmovs r8, rax
cmp r8, 2
jb 0x1400897e6
test dl, dl
js 0x14008a37a
test rdx, rdx
je 0x14008a377
movzx eax, word [rsi]
cmp eax, 0x22
je 0x14008977a
cmp eax, 0x27
jne 0x1400897e6
cmp word [rsi + rdx*2 - 2], 0x27
je 0x140089782
jmp 0x1400897e6
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, rsi
mov rdx, rax
call fcn.140014af0
jmp 0x140089701
cmp word [rsi + rdx*2 - 2], 0x22
jne 0x1400897e6
dec rcx
mov eax, ecx
and al, 0x7f
mov byte [rsi + 0x17], al
mov rdx, rsi
mov rax, rcx
mov word [rdx + rax*2], 0
movzx eax, byte [rsi + 0x17]
mov rcx, rax
mov rbx, rsi
test al, al
jns 0x1400897ad
mov rcx, qword [rsi + 8]
mov rbx, qword [rsi]
xor edx, edx
test rcx, rcx
setne dl
mov rdi, rcx
sub rdi, rdx
cmp rcx, 2
jb 0x1400897d4
lea rdx, [rbx + rdx*2]
lea r8, [rdi + rdi]
mov rcx, rbx
call fcn.140130690
mov al, byte [rsi + 0x17]
test al, al
jns 0x14008a222
mov qword [rsi + 8], rdi
mov word [rbx + rdi*2], 0
lea rcx, str.shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x38], rax
test rdi, rdi
je 0x14008981f
lea rdx, [0x1401fa229]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdi
xor r12d, r12d
lea rdi, str._windows
lea rax, [rsp + 0x70]
mov qword [rsp + 0x30], rax
jmp 0x1400898de
mov rdx, r10
sub rdx, r11
add r11, r14
add r11, 2
sub rdx, r14
sar rdx, 1
cmp rdx, rax
jge 0x1400898ad
jmp 0x1400898d1
mov r13, r11
add r13, r14
je 0x1400898d1
xor edx, edx
movzx r15d, word [r13 + rdx*2]
cmp r15w, word [rbp + rdx*2]
jne 0x14008983d
inc rdx
cmp rax, rdx
jne 0x140089861
cmp r13, r8
je 0x1400898d1
sub r13, rcx
mov rax, r13
add rax, 2
je 0x1400898d1
sar r13, 1
jmp 0x140089920
mov rdx, qword [rsi + 8]
cmp rdx, rax
jl 0x1400898d1
lea r8, [rcx + rdx*2]
movzx r9d, word [rbp]
lea r10, [rcx + rdx*2]
add r10, 0xfffffffffffffffe
mov r11, rcx
mov r14, rdx
sub r14, rax
inc r14
je 0x1400898d1
inc rdx
xor r14d, r14d
cmp word [r11 + r14], r9w
je 0x140089857
add r14, 2
dec rdx
cmp rax, rdx
jne 0x1400898be
inc r12
cmp r12, 7
je 0x140089b5a
mov rbx, r12
shl rbx, 4
mov rbp, qword [rbx + rdi]
test rbp, rbp
je 0x14008a36e
mov rcx, rbp
call fcn.14012cc94
movzx edx, byte [rsi + 0x17]
mov rcx, rsi
test dl, dl
jns 0x140089908
mov rcx, qword [rsi]
test rax, rax
je 0x14008991d
test dl, dl
js 0x140089890
and edx, 0x7f
jmp 0x140089894
xor r13d, r13d
mov rcx, rbp
call fcn.14012cc94
mov rbp, rax
mov r8d, 0x208
lea r14, [rsp + 0x70]
mov rcx, r14
mov dl, 0xaa
call fcn.140130d40
mov r8d, dword [rbx + rdi + 8]
xor ecx, ecx
mov rdx, r14
xor r9d, r9d
mov rax, qword [rsp + 0x38]
call qword [0x140243008]
test eax, eax
jne 0x140089963
mov word [rsp + 0x70], 0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0x50], xmm6
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x70]
call fcn.140167e60
mov al, byte [rsp + 0x67]
movzx r9d, al
mov ecx, r9d
and ecx, 0x7f
test r9b, r9b
mov rdx, qword [rsp + 0x58]
mov r8, rcx
cmovs r8, rdx
test r8, r8
je 0x140089a4b
test al, al
jns 0x14008a212
test rdx, rdx
je 0x14008a374
mov r10, qword [rsp + 0x50]
mov r9, rdx
cmp word [r10 + r9*2 - 2], 0x5c
jne 0x140089a4b
movzx r9d, byte [rsi + 0x17]
mov ebx, r9d
and ebx, 0x7f
test r9b, r9b
mov r11, qword [rsi + 8]
cmovs rbx, r11
mov r10, rbp
add r10, r13
cmp rbx, r10
jbe 0x140089a4b
test r9b, r9b
cmovns r11, r9
cmp r11, r10
jb 0x14008a371
mov r11, rsi
test r9b, r9b
jns 0x140089a0a
mov r11, qword [rsi]
cmp word [r11 + r10*2], 0x5c
jne 0x140089a4b
lea rdx, [r8 - 1]
lea rcx, [rsp + 0x50]
test al, al
jns 0x140089a24
mov rcx, qword [rsp + 0x50]
js 0x140089a2f
and dl, 0x7f
mov byte [rsp + 0x67], dl
jmp 0x140089a34
mov qword [rsp + 0x58], rdx
mov word [rcx + r8*2 - 2], 0
movzx eax, byte [rsp + 0x67]
mov rdx, qword [rsp + 0x58]
mov ecx, eax
and ecx, 0x7f
test al, al
cmovs rcx, rdx
mov r9, qword [rsp + 0x50]
lea rax, [rsp + 0x50]
cmovns r9, rax
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mov rdx, r13
mov r8, rbp
call fcn.14018b920
cmp byte [rsp + 0x67], 0
jns 0x1400898d1
mov rcx, qword [rsp + 0x50]
call fcn.14012c25c
jmp 0x1400898d1
mov r13, rdi
add r13, rbx
je 0x140089bd7
cmp word [rdi + rbx + 2], 0x7b
jne 0x140089ac4
cmp word [rdi + rbx + 4], 0x75
jne 0x140089ac4
cmp word [rdi + rbx + 6], 0x73
jne 0x140089ac4
cmp word [rdi + rbx + 8], 0x65
jne 0x140089ac4
cmp word [rdi + rbx + 0xa], 0x72
je 0x14008a22e
mov r13, r11
sub r13, rdi
add rdi, rbx
add rdi, 2
sub r13, rbx
cmp r13, 0x18
jge 0x140089bba
jmp 0x140089bd7
mov r15, r9
add r15, r10
je 0x140089c18
cmp word [r9 + r10 + 2], 0x7b
jne 0x140089b20
cmp word [r9 + r10 + 4], 0x6d
jne 0x140089b20
cmp word [r9 + r10 + 6], 0x61
jne 0x140089b20
cmp word [r9 + r10 + 8], 0x63
jne 0x140089b20
cmp word [r9 + r10 + 0xa], 0x68
je 0x140089ef2
mov rcx, r8
sub rcx, r9
add r9, r10
add r9, 2
sub rcx, r10
cmp rcx, 0x1e
jge 0x140089bf9
jmp 0x140089c18
movabs r13, 0xaaaaaaaaaaaaaaaa
jmp 0x140089c44
movabs r12, 0xaaaaaaaaaaaaaaaa
jmp 0x140089b82
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
test rax, rax
je 0x140089b4e
lea rdx, [0x1401fa2d2]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
movzx edx, byte [rsi + 0x17]
mov ecx, edx
and ecx, 0x7f
test dl, dl
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov r9, rsi
cmovs r9, rax
mov r13, rcx
cmovs r13, r8
cmp r13, 0xc
jl 0x140089bd7
lea r10, [r9 + r13*2]
lea r11, [r9 + r13*2]
add r11, 0xfffffffffffffffe
add r13, r13
mov rdi, r9
shr r13, 1
add r13, 0xfffffffffffffff5
xor ebx, ebx
cmp word [rdi + rbx], 0x24
je 0x140089a8c
add rbx, 2
dec r13
jne 0x140089bc3
test dl, dl
cmovns rax, rsi
cmovs rcx, r8
cmp rcx, 0xf
jl 0x140089c18
lea rdx, [rax + rcx*2]
lea r8, [rax + rcx*2]
add r8, 0xfffffffffffffffe
add rcx, rcx
mov r9, rax
shr rcx, 1
add rcx, 0xfffffffffffffff2
xor r10d, r10d
cmp word [r9 + r10], 0x24
je 0x140089ae3
add r10, 2
dec rcx
jne 0x140089c03
lea rcx, str.wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
test rax, rax
je 0x140089b3f
lea rdx, [0x1401fa2fc]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
lea rcx, str.wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r12, rax
test rax, rax
je 0x140089c6e
lea rdx, [0x1401fa334]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x28], rax
movzx edx, byte [rsi + 0x17]
mov ecx, edx
and ecx, 0x7f
test dl, dl
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov r9, rsi
cmovs r9, rax
mov rbp, rcx
cmovs rbp, r8
cmp rbp, 0xe
jl 0x140089cc3
lea r10, [r9 + rbp*2]
lea r11, [r9 + rbp*2]
add r11, 0xfffffffffffffffe
add rbp, rbp
mov rdi, r9
shr rbp, 1
add rbp, 0xfffffffffffffff3
xor ebx, ebx
cmp word [rdi + rbx], 0x24
je 0x140089dc0
add rbx, 2
dec rbp
jne 0x140089caf
test dl, dl
cmovns rax, rsi
cmovs rcx, r8
cmp rcx, 0xf
jl 0x140089d00
lea rdx, [rax + rcx*2]
lea r8, [rax + rcx*2]
add r8, 0xfffffffffffffffe
add rcx, rcx
mov r9, rax
shr rcx, 1
add rcx, 0xfffffffffffffff2
xor r10d, r10d
cmp word [r9 + r10], 0x24
je 0x140089d6c
add r10, 2
dec rcx
jne 0x140089cef
test r12, r12
je 0x140089d0e
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r15, r15
je 0x140089d1c
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r14, r14
mov rdi, qword [rsp + 0x40]
je 0x140089d2f
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test rdi, rdi
je 0x140089d3d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.14012ec00
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x280]
add rsp, 0x298
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbp, r9
add rbp, r10
je 0x140089d00
cmp word [r9 + r10 + 2], 0x7b
jne 0x140089da1
cmp word [r9 + r10 + 4], 0x73
jne 0x140089da1
cmp word [r9 + r10 + 6], 0x65
jne 0x140089da1
cmp word [r9 + r10 + 8], 0x73
jne 0x140089da1
cmp word [r9 + r10 + 0xa], 0x73
je 0x140089e1f
mov rcx, r8
sub rcx, r9
add r9, r10
add r9, 2
sub rcx, r10
cmp rcx, 0x1e
jge 0x140089ce5
jmp 0x140089d00
mov rbp, rdi
add rbp, rbx
je 0x140089cc3
cmp word [rdi + rbx + 2], 0x7b
jne 0x140089e00
cmp word [rdi + rbx + 4], 0x63
jne 0x140089e00
cmp word [rdi + rbx + 6], 0x6c
jne 0x140089e00
cmp word [rdi + rbx + 8], 0x69
jne 0x140089e00
cmp word [rdi + rbx + 0xa], 0x65
jne 0x140089e00
cmp word [rdi + rbx + 0xc], 0x6e
je 0x140089e99
mov rbp, r11
sub rbp, rdi
add rdi, rbx
add rdi, 2
sub rbp, rbx
cmp rbp, 0x1c
jge 0x140089ca6
jmp 0x140089cc3
cmp word [r9 + r10 + 0xc], 0x69
jne 0x140089da1
cmp word [r9 + r10 + 0xe], 0x6f
jne 0x140089da1
cmp word [r9 + r10 + 0x10], 0x6e
jne 0x140089da1
cmp word [r9 + r10 + 0x12], 0x5f
jne 0x140089da1
cmp word [r9 + r10 + 0x14], 0x6e
jne 0x140089da1
cmp word [r9 + r10 + 0x16], 0x61
jne 0x140089da1
cmp word [r9 + r10 + 0x18], 0x6d
jne 0x140089da1
cmp word [r9 + r10 + 0x1a], 0x65
jne 0x140089da1
cmp word [r9 + r10 + 0x1c], 0x7d
jne 0x140089da1
jmp 0x14008a017
cmp word [rdi + rbx + 0xe], 0x74
jne 0x140089e00
cmp word [rdi + rbx + 0x10], 0x5f
jne 0x140089e00
cmp word [rdi + rbx + 0x12], 0x6e
jne 0x140089e00
cmp word [rdi + rbx + 0x14], 0x61
jne 0x140089e00
cmp word [rdi + rbx + 0x16], 0x6d
jne 0x140089e00
cmp word [rdi + rbx + 0x18], 0x65
jne 0x140089e00
cmp word [rdi + rbx + 0x1a], 0x7d
jne 0x140089e00
jmp 0x140089faf
cmp word [r9 + r10 + 0xc], 0x69
jne 0x140089b20
cmp word [r9 + r10 + 0xe], 0x6e
jne 0x140089b20
cmp word [r9 + r10 + 0x10], 0x65
jne 0x140089b20
cmp word [r9 + r10 + 0x12], 0x5f
jne 0x140089b20
cmp word [r9 + r10 + 0x14], 0x6e
jne 0x140089b20
cmp word [r9 + r10 + 0x16], 0x61
jne 0x140089b20
cmp word [r9 + r10 + 0x18], 0x6d
jne 0x140089b20
cmp word [r9 + r10 + 0x1a], 0x65
jne 0x140089b20
cmp word [r9 + r10 + 0x1c], 0x7d
jne 0x140089b20
cmp r15, rdx
je 0x140089c18
sub r15, rax
mov rax, r15
add rax, 2
je 0x140089c18
lea r12, [rsp + 0x50]
mov dword [r12], 0
mov ecx, 5
xor edx, edx
mov r8, r12
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
mov ecx, dword [r12]
test rcx, rcx
je 0x140089c18
jmp 0x14008a173
cmp rbp, r10
je 0x140089cc3
sub rbp, r9
mov r9, rbp
add r9, 2
je 0x140089cc3
lea r9, [rsp + 0x50]
mov qword [r9], 0
lea rax, [rsp + 0x4c]
mov dword [rax], 0
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov edx, 0xffffffff
mov r8d, 0xa
mov rax, r13
call qword [0x140243008]
test eax, eax
jne 0x14008a0f0
movzx edx, byte [rsi + 0x17]
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov ecx, edx
and ecx, 0x7f
jmp 0x140089cc3
cmp rbp, rdx
je 0x140089d00
sub rbp, rax
mov rax, rbp
add rax, 2
je 0x140089d00
lea r9, [rsp + 0x50]
mov qword [r9], 0
lea rax, [rsp + 0x4c]
mov dword [rax], 0
mov qword [rsp + 0x20], rax
xor ecx, ecx
mov edx, 0xffffffff
mov r8d, 6
mov rax, r13
call qword [0x140243008]
test eax, eax
je 0x140089d00
sar rbp, 1
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r13, [rsp + 0x70]
mov qword [r13 + 0x10], rax
movaps xmmword [r13], xmm6
mov rdx, qword [rsp + 0x50]
mov rcx, r13
call fcn.140167e60
movzx eax, byte [r13 + 0x17]
test al, al
js 0x14008a0a0
and eax, 0x7f
jmp 0x14008a0aa
mov rax, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r8d, 0xf
mov rcx, rsi
mov rdx, rbp
mov r9, r13
call fcn.14018b920
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
call qword [0x140243008]
cmp byte [rsp + 0x87], 0
jns 0x140089d00
mov rcx, qword [rsp + 0x70]
call fcn.14012c25c
jmp 0x140089d00
sar rbp, 1
movabs rax, 0xaaaaaaaaaaaaaaaa
lea rdi, [rsp + 0x70]
mov qword [rdi + 0x10], rax
movaps xmmword [rdi], xmm6
mov rdx, qword [rsp + 0x50]
mov rcx, rdi
call fcn.140167e60
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x14008a12a
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
jmp 0x14008a12d
and eax, 0x7f
mov qword [rsp + 0x20], rax
mov r8d, 0xe
mov rcx, rsi
mov rdx, rbp
mov r9, rdi
call fcn.14018b920
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
call qword [0x140243008]
cmp byte [rsp + 0x87], 0
jns 0x14008a002
mov rcx, qword [rsp + 0x70]
call fcn.14012c25c
jmp 0x14008a002
sar r15, 1
add rcx, rcx
call fcn.14012c2a0
mov r12, rax
lea r8, [rsp + 0x50]
mov ecx, 5
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
movabs rax, 0xaaaaaaaaaaaaaaaa
lea r13, [rsp + 0x70]
mov qword [r13 + 0x10], rax
movaps xmmword [r13], xmm6
mov rcx, r13
mov rdx, r12
call fcn.140167e60
movzx eax, byte [r13 + 0x17]
test al, al
js 0x14008a1c5
and eax, 0x7f
jmp 0x14008a1cf
mov rax, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r8d, 0xf
mov rcx, rsi
mov rdx, r15
mov r9, r13
call fcn.14018b920
cmp byte [rsp + 0x87], 0
jns 0x14008a1fc
mov rcx, qword [rsp + 0x70]
call fcn.14012c25c
test r12, r12
je 0x140089c18
mov rcx, r12
call fcn.14012c4a0
jmp 0x140089c18
je 0x14008a374
lea r10, [rsp + 0x50]
jmp 0x1400899c5
mov eax, edi
and al, 0x7f
mov byte [rsi + 0x17], al
jmp 0x1400897e0
cmp word [rdi + rbx + 0xc], 0x5f
jne 0x140089ac4
cmp word [rdi + rbx + 0xe], 0x6e
jne 0x140089ac4
cmp word [rdi + rbx + 0x10], 0x61
jne 0x140089ac4
cmp word [rdi + rbx + 0x12], 0x6d
jne 0x140089ac4
cmp word [rdi + rbx + 0x14], 0x65
jne 0x140089ac4
cmp word [rdi + rbx + 0x16], 0x7d
jne 0x140089ac4
cmp r13, r10
je 0x140089bd7
sub r13, r9
mov r9, r13
add r9, 2
je 0x140089bd7
lea rbp, [rsp + 0x50]
mov dword [rbp], 0
xor ecx, ecx
mov rdx, rbp
mov rax, r12
call qword [0x140243008]
mov ecx, dword [rbp]
test rcx, rcx
jne 0x14008a2c6
movzx edx, byte [rsi + 0x17]
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov ecx, edx
and ecx, 0x7f
jmp 0x140089bd7
sar r13, 1
add rcx, rcx
call fcn.14012c2a0
mov rbp, rax
lea rdx, [rsp + 0x50]
mov rcx, rax
mov rax, r12
call qword [0x140243008]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
mov rdx, rbp
call fcn.140167e60
movzx eax, byte [rsp + 0x87]
test al, al
js 0x14008a31a
and eax, 0x7f
jmp 0x14008a329
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x30], rcx
mov qword [rsp + 0x20], rax
mov r8d, 0xc
mov rcx, rsi
mov rdx, r13
mov r9, qword [rsp + 0x30]
call fcn.14018b920
cmp byte [rsp + 0x87], 0
jns 0x14008a358
mov rcx, qword [rsp + 0x70]
call fcn.14012c25c
test rbp, rbp
je 0x14008a2b1
mov rcx, rbp
call fcn.14012c4a0
jmp 0x14008a2b1
int3
int3
int3
int3
test rax, rax
je 0x14008a377
mov rdx, qword [rsi]
movzx ecx, word [rdx]
cmp ecx, 0x22
je 0x14008a3a1
cmp ecx, 0x27
jne 0x1400897e6
cmp word [rdx + rax*2 - 2], 0x27
jne 0x1400897e6
jmp 0x14008a3ad
cmp word [rdx + rax*2 - 2], 0x22
jne 0x1400897e6
dec rax
mov qword [rsi + 8], rax
jmp 0x140089792