Function at 0x1400ba230
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 [0x140287028]
xor rax, rsp
mov qword [rsp + 0x278], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x28], rax
mov qword [rcx + 0x10], rax
movaps xmm6, xmmword [0x140261350]
movups xmmword [rcx], xmm6
cmp byte [rdx + 0x17], 0
js 0x1400baa77
mov rax, qword [rdx + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rsi], xmm0
movzx ecx, byte [rsi + 0x17]
mov eax, ecx
and eax, 0x7f
test cl, cl
mov rdx, qword [rsi + 8]
cmovs rax, rdx
test rax, rax
je 0x1400ba8a2
mov r8d, ecx
and r8d, 0x7e
test cl, cl
cmovs r8, rdx
cmp r8, 2
jb 0x1400ba2fb
test cl, cl
js 0x1400bae78
test rcx, rcx
je 0x1400baea2
movzx edx, word [rsi]
cmp edx, 0x22
je 0x1400ba2ef
cmp edx, 0x27
jne 0x1400ba2fb
cmp word [rsi + rcx*2 - 2], 0x27
jne 0x1400ba2fb
jmp 0x1400baa8e
cmp word [rsi + rcx*2 - 2], 0x22
je 0x1400baa8e
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 0x1400ba334
lea rdx, [0x140267d9a]
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
mov rbx, r12
shl rbx, 4
mov rbp, qword [rbx + rdi]
test rbp, rbp
je 0x1400bae6c
mov rcx, rbp
call fcn.140173694
movzx edx, byte [rsi + 0x17]
mov rcx, rsi
test dl, dl
jns 0x1400ba377
mov rcx, qword [rsi]
test rax, rax
je 0x1400ba437
test dl, dl
jns 0x1400ba38a
mov rdx, qword [rsi + 8]
jmp 0x1400ba38d
and edx, 0x7f
cmp rdx, rax
jge 0x1400ba3a0
inc r12
cmp r12, 7
jne 0x1400ba34d
jmp 0x1400ba5c5
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 0x1400ba392
inc rdx
xor r14d, r14d
cmp word [r11 + r14], r9w
je 0x1400ba3da
add r14, 2
dec rdx
cmp rax, rdx
jne 0x1400ba3c5
jmp 0x1400ba392
mov r13, r11
add r13, r14
je 0x1400ba392
xor edx, edx
movzx r15d, word [r13 + rdx*2]
cmp r15w, word [rbp + rdx*2]
jne 0x1400ba3fc
inc rdx
cmp rax, rdx
jne 0x1400ba3e4
jmp 0x1400ba419
mov rdx, r10
sub rdx, r11
add r11, r14
add r11, 2
sub rdx, r14
sar rdx, 1
cmp rdx, rax
jge 0x1400ba3b4
jmp 0x1400ba392
cmp r13, r8
je 0x1400ba392
sub r13, rcx
mov rax, r13
add rax, 2
je 0x1400ba392
sar r13, 1
jmp 0x1400ba43a
xor r13d, r13d
mov rcx, rbp
call fcn.140173694
mov rbp, rax
mov r8d, 0x208
lea r14, [rsp + 0x70]
mov rcx, r14
mov dl, 0xaa
call fcn.140177800
mov r8d, dword [rbx + rdi + 8]
xor ecx, ecx
mov rdx, r14
xor r9d, r9d
mov rax, qword [rsp + 0x38]
call qword [case.0x1401d7990.0]
test eax, eax
jne 0x1400ba47d
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.1401b1c40
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 0x1400ba574
test al, al
jns 0x1400ba5b5
test rdx, rdx
je 0x1400bae75
mov r10, qword [rsp + 0x50]
mov r9, rdx
cmp word [r10 + r9*2 - 2], 0x5c
jne 0x1400ba574
movzx r10d, byte [rsi + 0x17]
mov ebx, r10d
and ebx, 0x7f
test r10b, r10b
mov r11, qword [rsi + 8]
cmovs rbx, r11
mov r9, rbp
add r9, r13
cmp rbx, r9
jbe 0x1400ba574
test r10b, r10b
jns 0x1400ba520
cmp r11, r9
jb 0x1400bae6f
mov r11, qword [rsi]
jmp 0x1400ba52c
mov r11, rsi
cmp r9, r10
ja 0x1400bae6f
cmp word [r11 + r9*2], 0x5c
jne 0x1400ba574
lea rdx, [r8 - 1]
lea rcx, [rsp + 0x50]
test al, al
jns 0x1400ba546
mov rcx, qword [rsp + 0x50]
jns 0x1400ba54f
mov qword [rsp + 0x58], rdx
jmp 0x1400ba55d
cmp r8, 0xc
jae 0x1400bae72
mov byte [rsp + 0x67], dl
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.1401cd940
cmp byte [rsp + 0x67], 0
jns 0x1400ba392
mov rcx, qword [rsp + 0x50]
call fcn.140172a44
jmp 0x1400ba392
je 0x1400bae75
lea r10, [rsp + 0x50]
jmp 0x1400ba4df
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
test rax, rax
je 0x1400ba5ef
lea rdx, [0x140267e32]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r12, rax
jmp 0x1400ba5f9
movabs r12, 0xaaaaaaaaaaaaaaaa
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
jge 0x1400ba664
test dl, dl
cmovns rax, rsi
cmovs rcx, r8
cmp rcx, 0xf
jge 0x1400ba714
lea rcx, str.wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
test rax, rax
je 0x1400ba7f3
lea rdx, [0x140267e5c]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
jmp 0x1400ba7fd
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 0x1400ba691
add rbx, 2
dec r13
jne 0x1400ba67f
jmp 0x1400ba61f
mov r13, rdi
add r13, rbx
je 0x1400ba61f
cmp word [rdi + rbx + 2], 0x7b
jne 0x1400ba6f5
cmp word [rdi + rbx + 4], 0x75
jne 0x1400ba6f5
cmp word [rdi + rbx + 6], 0x73
jne 0x1400ba6f5
cmp word [rdi + rbx + 8], 0x65
jne 0x1400ba6f5
cmp word [rdi + rbx + 0xa], 0x72
jne 0x1400ba6f5
cmp word [rdi + rbx + 0xc], 0x5f
jne 0x1400ba6f5
cmp word [rdi + rbx + 0xe], 0x6e
jne 0x1400ba6f5
cmp word [rdi + rbx + 0x10], 0x61
jne 0x1400ba6f5
cmp word [rdi + rbx + 0x12], 0x6d
jne 0x1400ba6f5
cmp word [rdi + rbx + 0x14], 0x65
jne 0x1400ba6f5
cmp word [rdi + rbx + 0x16], 0x7d
je 0x1400baabc
mov r13, r11
sub r13, rdi
add rdi, rbx
add rdi, 2
sub r13, rbx
cmp r13, 0x18
jge 0x1400ba676
jmp 0x1400ba61f
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 0x1400ba746
add r10, 2
dec rcx
jne 0x1400ba730
jmp 0x1400ba633
mov r15, r9
add r15, r10
je 0x1400ba633
cmp word [r9 + r10 + 2], 0x7b
jne 0x1400ba7d4
cmp word [r9 + r10 + 4], 0x6d
jne 0x1400ba7d4
cmp word [r9 + r10 + 6], 0x61
jne 0x1400ba7d4
cmp word [r9 + r10 + 8], 0x63
jne 0x1400ba7d4
cmp word [r9 + r10 + 0xa], 0x68
jne 0x1400ba7d4
cmp word [r9 + r10 + 0xc], 0x69
jne 0x1400ba7d4
cmp word [r9 + r10 + 0xe], 0x6e
jne 0x1400ba7d4
cmp word [r9 + r10 + 0x10], 0x65
jne 0x1400ba7d4
cmp word [r9 + r10 + 0x12], 0x5f
jne 0x1400ba7d4
cmp word [r9 + r10 + 0x14], 0x6e
jne 0x1400ba7d4
cmp word [r9 + r10 + 0x16], 0x61
jne 0x1400ba7d4
cmp word [r9 + r10 + 0x18], 0x6d
jne 0x1400ba7d4
cmp word [r9 + r10 + 0x1a], 0x65
jne 0x1400ba7d4
cmp word [r9 + r10 + 0x1c], 0x7d
je 0x1400bab78
mov rcx, r8
sub rcx, r9
add r9, r10
add r9, 2
sub rcx, r10
cmp rcx, 0x1e
jge 0x1400ba726
jmp 0x1400ba633
movabs r13, 0xaaaaaaaaaaaaaaaa
lea rcx, str.wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r12, rax
test rax, rax
je 0x1400ba827
lea rdx, [0x140267e94]
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
jge 0x1400ba8d1
test dl, dl
cmovns rax, rsi
cmovs rcx, r8
cmp rcx, 0xf
jge 0x1400ba998
test r12, r12
je 0x1400ba873
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r15, r15
je 0x1400ba881
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r14, r14
mov rdi, qword [rsp + 0x40]
je 0x1400ba894
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test rdi, rdi
je 0x1400ba8a2
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.1401756e0
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
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 0x1400ba901
add rbx, 2
dec rbp
jne 0x1400ba8ec
jmp 0x1400ba851
mov rbp, rdi
add rbp, rbx
je 0x1400ba851
cmp word [rdi + rbx + 2], 0x7b
jne 0x1400ba979
cmp word [rdi + rbx + 4], 0x63
jne 0x1400ba979
cmp word [rdi + rbx + 6], 0x6c
jne 0x1400ba979
cmp word [rdi + rbx + 8], 0x69
jne 0x1400ba979
cmp word [rdi + rbx + 0xa], 0x65
jne 0x1400ba979
cmp word [rdi + rbx + 0xc], 0x6e
jne 0x1400ba979
cmp word [rdi + rbx + 0xe], 0x74
jne 0x1400ba979
cmp word [rdi + rbx + 0x10], 0x5f
jne 0x1400ba979
cmp word [rdi + rbx + 0x12], 0x6e
jne 0x1400ba979
cmp word [rdi + rbx + 0x14], 0x61
jne 0x1400ba979
cmp word [rdi + rbx + 0x16], 0x6d
jne 0x1400ba979
cmp word [rdi + rbx + 0x18], 0x65
jne 0x1400ba979
cmp word [rdi + rbx + 0x1a], 0x7d
je 0x1400bab10
mov rbp, r11
sub rbp, rdi
add rdi, rbx
add rdi, 2
sub rbp, rbx
cmp rbp, 0x1c
jge 0x1400ba8e3
jmp 0x1400ba851
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 0x1400ba9ca
add r10, 2
dec rcx
jne 0x1400ba9b4
jmp 0x1400ba865
mov rbp, r9
add rbp, r10
je 0x1400ba865
cmp word [r9 + r10 + 2], 0x7b
jne 0x1400baa58
cmp word [r9 + r10 + 4], 0x73
jne 0x1400baa58
cmp word [r9 + r10 + 6], 0x65
jne 0x1400baa58
cmp word [r9 + r10 + 8], 0x73
jne 0x1400baa58
cmp word [r9 + r10 + 0xa], 0x73
jne 0x1400baa58
cmp word [r9 + r10 + 0xc], 0x69
jne 0x1400baa58
cmp word [r9 + r10 + 0xe], 0x6f
jne 0x1400baa58
cmp word [r9 + r10 + 0x10], 0x6e
jne 0x1400baa58
cmp word [r9 + r10 + 0x12], 0x5f
jne 0x1400baa58
cmp word [r9 + r10 + 0x14], 0x6e
jne 0x1400baa58
cmp word [r9 + r10 + 0x16], 0x61
jne 0x1400baa58
cmp word [r9 + r10 + 0x18], 0x6d
jne 0x1400baa58
cmp word [r9 + r10 + 0x1a], 0x65
jne 0x1400baa58
cmp word [r9 + r10 + 0x1c], 0x7d
je 0x1400bac1b
mov rcx, r8
sub rcx, r9
add r9, r10
add r9, 2
sub rcx, r10
cmp rcx, 0x1e
jge 0x1400ba9aa
jmp 0x1400ba865
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, rsi
mov rdx, rax
call fcn.140007690
jmp 0x1400ba295
cmp rax, 0xc
jae 0x1400baebd
dec rax
mov byte [rsi + 0x17], al
mov rcx, rsi
mov word [rcx + rax*2], 0
mov r8d, 1
mov rcx, rsi
xor edx, edx
call fcn.140171010
jmp 0x1400ba2fb
cmp r13, r10
je 0x1400ba61f
sub r13, r9
mov r9, r13
add r9, 2
je 0x1400ba61f
lea rbp, [rsp + 0x50]
mov dword [rbp], 0
xor ecx, ecx
mov rdx, rbp
mov rax, r12
call qword [case.0x1401d7990.0]
mov ecx, dword [rbp]
test rcx, rcx
jne 0x1400bacb2
movzx edx, byte [rsi + 0x17]
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov ecx, edx
and ecx, 0x7f
jmp 0x1400ba61f
cmp rbp, r10
je 0x1400ba851
sub rbp, r9
mov r9, rbp
add r9, 2
je 0x1400ba851
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 [case.0x1401d7990.0]
test eax, eax
jne 0x1400bad5a
movzx edx, byte [rsi + 0x17]
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov ecx, edx
and ecx, 0x7f
jmp 0x1400ba851
cmp r15, rdx
je 0x1400ba633
sub r15, rax
mov rax, r15
add rax, 2
je 0x1400ba633
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 0x1400ba633
sar r15, 1
add rcx, rcx
call fcn.140172dc0
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.1401b1c40
movzx eax, byte [r13 + 0x17]
test al, al
jns 0x1400baddd
mov rax, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
jmp 0x1400bade0
cmp rbp, rdx
je 0x1400ba865
sub rbp, rax
mov rax, rbp
add rax, 2
je 0x1400ba865
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 [case.0x1401d7990.0]
test eax, eax
je 0x1400ba865
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.1401b1c40
movzx eax, byte [r13 + 0x17]
test al, al
jns 0x1400bae23
mov rax, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
jmp 0x1400bae26
sar r13, 1
add rcx, rcx
call fcn.140172dc0
mov rbp, rax
lea rdx, [rsp + 0x50]
mov rcx, rax
mov rax, r12
call qword [case.0x1401d7990.0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
mov rdx, rbp
call fcn.1401b1c40
movzx eax, byte [rsp + 0x87]
test al, al
jns 0x1400bad12
mov rax, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x30], rcx
jmp 0x1400bad15
and eax, 0x7f
mov qword [rsp + 0x20], rax
mov r8d, 0xc
mov rcx, rsi
mov rdx, r13
mov r9, qword [rsp + 0x30]
call fcn.1401cd940
cmp byte [rsp + 0x87], 0
jns 0x1400bad44
mov rcx, qword [rsp + 0x70]
call fcn.140172a44
test rbp, rbp
je 0x1400baafb
mov rcx, rbp
call fcn.140172f08
jmp 0x1400baafb
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.1401b1c40
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x1400bad94
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
jmp 0x1400bad97
and eax, 0x7f
mov qword [rsp + 0x20], rax
mov r8d, 0xe
mov rcx, rsi
mov rdx, rbp
mov r9, rdi
call fcn.1401cd940
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
call qword [case.0x1401d7990.0]
cmp byte [rsp + 0x87], 0
jns 0x1400bab63
mov rcx, qword [rsp + 0x70]
call fcn.140172a44
jmp 0x1400bab63
and eax, 0x7f
mov qword [rsp + 0x20], rax
mov r8d, 0xf
mov rcx, rsi
mov rdx, r15
mov r9, r13
call fcn.1401cd940
cmp byte [rsp + 0x87], 0
jns 0x1400bae0d
mov rcx, qword [rsp + 0x70]
call fcn.140172a44
test r12, r12
je 0x1400ba633
mov rcx, r12
call fcn.140172f08
jmp 0x1400ba633
and eax, 0x7f
mov qword [rsp + 0x20], rax
mov r8d, 0xf
mov rcx, rsi
mov rdx, rbp
mov r9, r13
call fcn.1401cd940
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
call qword [case.0x1401d7990.0]
cmp byte [rsp + 0x87], 0
jns 0x1400ba865
mov rcx, qword [rsp + 0x70]
call fcn.140172a44
jmp 0x1400ba865
int3
int3
int3
int3
test rdx, rdx
je 0x1400baea2
mov rcx, qword [rsi]
movzx r8d, word [rcx]
cmp r8d, 0x22
je 0x1400baea5
cmp r8d, 0x27
jne 0x1400ba2fb
cmp word [rcx + rdx*2 - 2], 0x27
jne 0x1400ba2fb
jmp 0x1400baeb1
int3
cmp word [rcx + rdx*2 - 2], 0x22
jne 0x1400ba2fb
dec rax
mov qword [rsi + 8], rax
jmp 0x1400baaa1
int3