Function at 0x1401237c0
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 [0x1402cb038]
xor rax, rsp
mov qword [rsp + 0x278], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x28], rax
mov qword [rcx + 0x10], rax
movaps xmm6, xmmword [0x14029ca60]
movups xmmword [rcx], xmm6
cmp byte [rdx + 0x17], 0
js 0x140123886
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 0x140123e5d
mov r8d, edx
and r8d, 0x7e
test dl, dl
cmovs r8, rax
cmp r8, 2
jb 0x140123906
test dl, dl
js 0x14012449a
test rdx, rdx
je 0x140124497
movzx eax, word [rsi]
cmp eax, 0x22
je 0x14012389a
cmp eax, 0x27
jne 0x140123906
cmp word [rsi + rdx*2 - 2], 0x27
je 0x1401238a2
jmp 0x140123906
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, rsi
mov rdx, rax
call fcn.1400179f0
jmp 0x140123821
cmp word [rsi + rdx*2 - 2], 0x22
jne 0x140123906
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 0x1401238cd
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 0x1401238f4
lea rdx, [rbx + rdx*2]
lea r8, [rdi + rdi]
mov rcx, rbx
call fcn.1401d0030
mov al, byte [rsi + 0x17]
test al, al
jns 0x140124342
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 0x14012393f
lea rdx, [0x1402aa064]
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 0x1401239fe
mov rdx, r10
sub rdx, r11
add r11, r14
add r11, 2
sub rdx, r14
sar rdx, 1
cmp rdx, rax
jge 0x1401239cd
jmp 0x1401239f1
mov r13, r11
add r13, r14
je 0x1401239f1
xor edx, edx
movzx r15d, word [r13 + rdx*2]
cmp r15w, word [rbp + rdx*2]
jne 0x14012395d
inc rdx
cmp rax, rdx
jne 0x140123981
cmp r13, r8
je 0x1401239f1
sub r13, rcx
mov rax, r13
add rax, 2
je 0x1401239f1
sar r13, 1
jmp 0x140123a40
mov rdx, qword [rsi + 8]
cmp rdx, rax
jl 0x1401239f1
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 0x1401239f1
inc rdx
xor r14d, r14d
cmp word [r11 + r14], r9w
je 0x140123977
add r14, 2
dec rdx
cmp rax, rdx
jne 0x1401239de
inc r12
cmp r12, 7
je 0x140123c7a
mov rbx, r12
shl rbx, 4
mov rbp, qword [rbx + rdi]
test rbp, rbp
je 0x14012448e
mov rcx, rbp
call fcn.1401cc340
movzx edx, byte [rsi + 0x17]
mov rcx, rsi
test dl, dl
jns 0x140123a28
mov rcx, qword [rsi]
test rax, rax
je 0x140123a3d
test dl, dl
js 0x1401239b0
and edx, 0x7f
jmp 0x1401239b4
xor r13d, r13d
mov rcx, rbp
call fcn.1401cc340
mov rbp, rax
mov r8d, 0x208
lea r14, [rsp + 0x70]
mov rcx, r14
mov dl, 0xaa
call fcn.1401d06e0
mov r8d, dword [rbx + rdi + 8]
xor ecx, ecx
mov rdx, r14
xor r9d, r9d
mov rax, qword [rsp + 0x38]
call qword [0x1402f5008]
test eax, eax
jne 0x140123a83
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.140207340
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 0x140123b6b
test al, al
jns 0x140124332
test rdx, rdx
je 0x140124494
mov r10, qword [rsp + 0x50]
mov r9, rdx
cmp word [r10 + r9*2 - 2], 0x5c
jne 0x140123b6b
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 0x140123b6b
test r9b, r9b
cmovns r11, r9
cmp r11, r10
jb 0x140124491
mov r11, rsi
test r9b, r9b
jns 0x140123b2a
mov r11, qword [rsi]
cmp word [r11 + r10*2], 0x5c
jne 0x140123b6b
lea rdx, [r8 - 1]
lea rcx, [rsp + 0x50]
test al, al
jns 0x140123b44
mov rcx, qword [rsp + 0x50]
jns 0x140123b4d
mov qword [rsp + 0x58], rdx
jmp 0x140123b54
and dl, 0x7f
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.14022f020
cmp byte [rsp + 0x67], 0
jns 0x1401239f1
mov rcx, qword [rsp + 0x50]
call fcn.1401cbbbc
jmp 0x1401239f1
mov r13, rdi
add r13, rbx
je 0x140123cf7
cmp word [rdi + rbx + 2], 0x7b
jne 0x140123be4
cmp word [rdi + rbx + 4], 0x75
jne 0x140123be4
cmp word [rdi + rbx + 6], 0x73
jne 0x140123be4
cmp word [rdi + rbx + 8], 0x65
jne 0x140123be4
cmp word [rdi + rbx + 0xa], 0x72
je 0x14012434e
mov r13, r11
sub r13, rdi
add rdi, rbx
add rdi, 2
sub r13, rbx
cmp r13, 0x18
jge 0x140123cda
jmp 0x140123cf7
mov r15, r9
add r15, r10
je 0x140123d38
cmp word [r9 + r10 + 2], 0x7b
jne 0x140123c40
cmp word [r9 + r10 + 4], 0x6d
jne 0x140123c40
cmp word [r9 + r10 + 6], 0x61
jne 0x140123c40
cmp word [r9 + r10 + 8], 0x63
jne 0x140123c40
cmp word [r9 + r10 + 0xa], 0x68
je 0x140124012
mov rcx, r8
sub rcx, r9
add r9, r10
add r9, 2
sub rcx, r10
cmp rcx, 0x1e
jge 0x140123d19
jmp 0x140123d38
movabs r13, 0xaaaaaaaaaaaaaaaa
jmp 0x140123d64
movabs r12, 0xaaaaaaaaaaaaaaaa
jmp 0x140123ca2
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r14, rax
test rax, rax
je 0x140123c6e
lea rdx, [0x1402aa0f2]
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 0x140123cf7
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 0x140123bac
add rbx, 2
dec r13
jne 0x140123ce3
test dl, dl
cmovns rax, rsi
cmovs rcx, r8
cmp rcx, 0xf
jl 0x140123d38
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 0x140123c03
add r10, 2
dec rcx
jne 0x140123d23
lea rcx, str.wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
test rax, rax
je 0x140123c5f
lea rdx, [0x1402aa11c]
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 0x140123d8e
lea rdx, [0x1402aa154]
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 0x140123de3
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 0x140123ee0
add rbx, 2
dec rbp
jne 0x140123dcf
test dl, dl
cmovns rax, rsi
cmovs rcx, r8
cmp rcx, 0xf
jl 0x140123e20
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 0x140123e8c
add r10, 2
dec rcx
jne 0x140123e0f
test r12, r12
je 0x140123e2e
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r15, r15
je 0x140123e3c
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r14, r14
mov rdi, qword [rsp + 0x40]
je 0x140123e4f
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test rdi, rdi
je 0x140123e5d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.1401ce5b0
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 0x140123e20
cmp word [r9 + r10 + 2], 0x7b
jne 0x140123ec1
cmp word [r9 + r10 + 4], 0x73
jne 0x140123ec1
cmp word [r9 + r10 + 6], 0x65
jne 0x140123ec1
cmp word [r9 + r10 + 8], 0x73
jne 0x140123ec1
cmp word [r9 + r10 + 0xa], 0x73
je 0x140123f3f
mov rcx, r8
sub rcx, r9
add r9, r10
add r9, 2
sub rcx, r10
cmp rcx, 0x1e
jge 0x140123e05
jmp 0x140123e20
mov rbp, rdi
add rbp, rbx
je 0x140123de3
cmp word [rdi + rbx + 2], 0x7b
jne 0x140123f20
cmp word [rdi + rbx + 4], 0x63
jne 0x140123f20
cmp word [rdi + rbx + 6], 0x6c
jne 0x140123f20
cmp word [rdi + rbx + 8], 0x69
jne 0x140123f20
cmp word [rdi + rbx + 0xa], 0x65
jne 0x140123f20
cmp word [rdi + rbx + 0xc], 0x6e
je 0x140123fb9
mov rbp, r11
sub rbp, rdi
add rdi, rbx
add rdi, 2
sub rbp, rbx
cmp rbp, 0x1c
jge 0x140123dc6
jmp 0x140123de3
cmp word [r9 + r10 + 0xc], 0x69
jne 0x140123ec1
cmp word [r9 + r10 + 0xe], 0x6f
jne 0x140123ec1
cmp word [r9 + r10 + 0x10], 0x6e
jne 0x140123ec1
cmp word [r9 + r10 + 0x12], 0x5f
jne 0x140123ec1
cmp word [r9 + r10 + 0x14], 0x6e
jne 0x140123ec1
cmp word [r9 + r10 + 0x16], 0x61
jne 0x140123ec1
cmp word [r9 + r10 + 0x18], 0x6d
jne 0x140123ec1
cmp word [r9 + r10 + 0x1a], 0x65
jne 0x140123ec1
cmp word [r9 + r10 + 0x1c], 0x7d
jne 0x140123ec1
jmp 0x140124137
cmp word [rdi + rbx + 0xe], 0x74
jne 0x140123f20
cmp word [rdi + rbx + 0x10], 0x5f
jne 0x140123f20
cmp word [rdi + rbx + 0x12], 0x6e
jne 0x140123f20
cmp word [rdi + rbx + 0x14], 0x61
jne 0x140123f20
cmp word [rdi + rbx + 0x16], 0x6d
jne 0x140123f20
cmp word [rdi + rbx + 0x18], 0x65
jne 0x140123f20
cmp word [rdi + rbx + 0x1a], 0x7d
jne 0x140123f20
jmp 0x1401240cf
cmp word [r9 + r10 + 0xc], 0x69
jne 0x140123c40
cmp word [r9 + r10 + 0xe], 0x6e
jne 0x140123c40
cmp word [r9 + r10 + 0x10], 0x65
jne 0x140123c40
cmp word [r9 + r10 + 0x12], 0x5f
jne 0x140123c40
cmp word [r9 + r10 + 0x14], 0x6e
jne 0x140123c40
cmp word [r9 + r10 + 0x16], 0x61
jne 0x140123c40
cmp word [r9 + r10 + 0x18], 0x6d
jne 0x140123c40
cmp word [r9 + r10 + 0x1a], 0x65
jne 0x140123c40
cmp word [r9 + r10 + 0x1c], 0x7d
jne 0x140123c40
cmp r15, rdx
je 0x140123d38
sub r15, rax
mov rax, r15
add rax, 2
je 0x140123d38
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 0x140123d38
jmp 0x140124293
cmp rbp, r10
je 0x140123de3
sub rbp, r9
mov r9, rbp
add r9, 2
je 0x140123de3
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 [0x1402f5008]
test eax, eax
jne 0x140124210
movzx edx, byte [rsi + 0x17]
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov ecx, edx
and ecx, 0x7f
jmp 0x140123de3
cmp rbp, rdx
je 0x140123e20
sub rbp, rax
mov rax, rbp
add rax, 2
je 0x140123e20
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 [0x1402f5008]
test eax, eax
je 0x140123e20
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.140207340
movzx eax, byte [r13 + 0x17]
test al, al
js 0x1401241c0
and eax, 0x7f
jmp 0x1401241ca
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.14022f020
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
call qword [0x1402f5008]
cmp byte [rsp + 0x87], 0
jns 0x140123e20
mov rcx, qword [rsp + 0x70]
call fcn.1401cbbbc
jmp 0x140123e20
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.140207340
movzx eax, byte [rdi + 0x17]
test al, al
jns 0x14012424a
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x70]
jmp 0x14012424d
and eax, 0x7f
mov qword [rsp + 0x20], rax
mov r8d, 0xe
mov rcx, rsi
mov rdx, rbp
mov r9, rdi
call fcn.14022f020
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x28]
call qword [0x1402f5008]
cmp byte [rsp + 0x87], 0
jns 0x140124122
mov rcx, qword [rsp + 0x70]
call fcn.1401cbbbc
jmp 0x140124122
sar r15, 1
add rcx, rcx
call fcn.1401cbf8c
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.140207340
movzx eax, byte [r13 + 0x17]
test al, al
js 0x1401242e5
and eax, 0x7f
jmp 0x1401242ef
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.14022f020
cmp byte [rsp + 0x87], 0
jns 0x14012431c
mov rcx, qword [rsp + 0x70]
call fcn.1401cbbbc
test r12, r12
je 0x140123d38
mov rcx, r12
call fcn.1401cbf84
jmp 0x140123d38
je 0x140124494
lea r10, [rsp + 0x50]
jmp 0x140123ae5
mov eax, edi
and al, 0x7f
mov byte [rsi + 0x17], al
jmp 0x140123900
cmp word [rdi + rbx + 0xc], 0x5f
jne 0x140123be4
cmp word [rdi + rbx + 0xe], 0x6e
jne 0x140123be4
cmp word [rdi + rbx + 0x10], 0x61
jne 0x140123be4
cmp word [rdi + rbx + 0x12], 0x6d
jne 0x140123be4
cmp word [rdi + rbx + 0x14], 0x65
jne 0x140123be4
cmp word [rdi + rbx + 0x16], 0x7d
jne 0x140123be4
cmp r13, r10
je 0x140123cf7
sub r13, r9
mov r9, r13
add r9, 2
je 0x140123cf7
lea rbp, [rsp + 0x50]
mov dword [rbp], 0
xor ecx, ecx
mov rdx, rbp
mov rax, r12
call qword [0x1402f5008]
mov ecx, dword [rbp]
test rcx, rcx
jne 0x1401243e6
movzx edx, byte [rsi + 0x17]
mov rax, qword [rsi]
mov r8, qword [rsi + 8]
mov ecx, edx
and ecx, 0x7f
jmp 0x140123cf7
sar r13, 1
add rcx, rcx
call fcn.1401cbf8c
mov rbp, rax
lea rdx, [rsp + 0x50]
mov rcx, rax
mov rax, r12
call qword [0x1402f5008]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
lea rcx, [rsp + 0x70]
mov rdx, rbp
call fcn.140207340
movzx eax, byte [rsp + 0x87]
test al, al
js 0x14012443a
and eax, 0x7f
jmp 0x140124449
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.14022f020
cmp byte [rsp + 0x87], 0
jns 0x140124478
mov rcx, qword [rsp + 0x70]
call fcn.1401cbbbc
test rbp, rbp
je 0x1401243d1
mov rcx, rbp
call fcn.1401cbf84
jmp 0x1401243d1
int3
int3
int3
int3
test rax, rax
je 0x140124497
mov rdx, qword [rsi]
movzx ecx, word [rdx]
cmp ecx, 0x22
je 0x1401244c1
cmp ecx, 0x27
jne 0x140123906
cmp word [rdx + rax*2 - 2], 0x27
jne 0x140123906
jmp 0x1401244cd
cmp word [rdx + rax*2 - 2], 0x22
jne 0x140123906
dec rax
mov qword [rsi + 8], rax
jmp 0x1401238b2