Function at 0x140003690
Capabilities:
Get hostname

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0x188
movzx eax, word [0x140022114]
movsx rax, ax
mov qword [rsp + 0x108], rax
mov eax, dword [0x1400220f8]
mov qword [rsp + 0x90], rax
movzx eax, byte [0x140022016]
mov qword [rsp + 0xa0], rax
movzx eax, word [0x140022158]
mov qword [rsp + 0xe0], rax
mov dword [rsp + 0xec], 0xf8e45162
mov eax, dword [0x14002210c]
mov dword [rsp + 0xb4], eax
movsxd rax, dword [0x140022110]
mov qword [rsp + 0xc0], rax
mov byte [rsp + 0x48], 0xf6
movabs rax, 0x8117197b3a72f
mov qword [rsp + 0x98], rax
mov byte [rsp + 0x42], 0xba
mov rax, qword [0x1400220e0]
mov qword [rsp + 0x100], rax
movabs rax, 0x12c602fe4288f
mov qword [rsp + 0x60], rax
movzx eax, word [0x1400220d4]
mov dword [rsp + 0xf0], eax
movzx eax, byte [0x14002202e]
mov byte [rsp + 0x41], al
movzx eax, word [0x14002202c]
movzx eax, ax
mov dword [rsp + 0x68], eax
mov byte [rsp + 0x50], 0x20
mov eax, 0x7c7d
mov word [rsp + 0x4c], ax
movzx eax, word [0x140022114]
mov byte [rsp + 0x40], al
mov eax, dword [0x1400220f8]
mov dword [rsp + 0xbc], eax
mov dword [rsp + 0xb8], 0x931cbb8e
mov eax, 0x5e5f
mov word [rsp + 0x44], ax
mov eax, dword [0x140022128]
mov eax, eax
mov qword [rsp + 0xd0], rax
mov rax, qword [0x1400220d8]
mov dword [rsp + 0x5c], eax
movzx eax, byte [0x140022013]
movsx eax, al
mov dword [rsp + 0x58], eax
movzx eax, word [0x140022044]
mov qword [rsp + 0x110], rax
movzx eax, byte [0x140022016]
mov word [rsp + 0xb0], ax
mov dword [rsp + 0xf4], 0x3111d932
movzx eax, word [0x140022044]
mov qword [rsp + 0x118], rax
mov dword [rsp + 0xf8], 0x1c68f42
movzx eax, word [0x140022114]
mov byte [rsp + 0x51], al
lea rdx, [0x140017318]
lea rcx, [0x140017330]
call qword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov dword [0x140022bb0], eax
mov eax, dword [0x140022bb0]
mov dword [0x140022bb0], eax
movzx eax, byte [rsp + 0x40]
movzx ecx, byte [0x140022016]
sub eax, ecx
movzx ecx, byte [rsp + 0x40]
or ecx, eax
mov eax, ecx
mov byte [rsp + 0x40], al
mov rax, qword [rsp + 0xc0]
mov ecx, 0xf58e79b5
add rax, rcx
mov qword [0x1400220e8], rax
mov rax, qword [rsp + 0xc0]
xor rax, 0x9f8d
movzx ecx, word [0x140022148]
movsx rcx, cx
sub rcx, rax
mov rax, rcx
mov word [0x140022148], ax
mov eax, dword [0x140022bb0]
mov dword [rsp + 0x54], eax
movzx eax, word [0x14002213c]
movzx eax, ax
mov rcx, qword [0x140022130]
add rcx, rax
mov rax, rcx
mov rcx, qword [0x140022130]
sub rcx, rax
mov rax, rcx
mov qword [0x140022130], rax
mov eax, dword [0x140022128]
mov eax, eax
movabs rcx, 0x80f62a2d9329a
sub rax, rcx
mov word [0x140022158], ax
mov eax, dword [0x14002210c]
mov ecx, dword [0x14002214c]
xor ecx, eax
mov eax, ecx
mov dword [0x14002214c], eax
mov eax, dword [rsp + 0x54]
add eax, 0xe2
mov dword [rsp + 0xfc], eax
mov eax, dword [rsp + 0x54]
add eax, 0x3535
mov dword [rsp + 0xe8], eax
movzx eax, word [rsp + 0x4c]
cwde
test eax, eax
jne 0x140003935
mov qword [rsp + 0xc8], 1
jmp 0x140003941
mov qword [rsp + 0xc8], 0
mov rax, qword [0x1400220d8]
mov rcx, qword [rsp + 0xc8]
sub rcx, rax
mov rax, rcx
test rax, rax
jne 0x140003965
mov dword [rsp + 0x70], 1
jmp 0x14000396d
mov dword [rsp + 0x70], 0
cmp dword [rsp + 0xb4], 0
jne 0x140003981
mov dword [rsp + 0x6c], 1
jmp 0x140003989
mov dword [rsp + 0x6c], 0
movzx eax, byte [0x140022043]
not eax
cdqe
xor rax, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0x60]
movabs rdx, 0x4842fb5501191
xor rcx, rdx
imul rax, rcx
movzx ecx, byte [0x140022017]
not ecx
sub ecx, dword [rsp + 0x6c]
mov edx, dword [rsp + 0x70]
xor edx, ecx
mov ecx, edx
movsxd rcx, ecx
add rax, rcx
mov byte [rsp + 0x42], al
movzx eax, word [0x140022148]
cwde
mov ecx, dword [0x1400220f4]
sub eax, ecx
mov word [0x140022148], ax
mov eax, dword [rsp + 0xb8]
add eax, 0x64dec68c
mov ecx, dword [0x140022104]
sub ecx, eax
mov eax, ecx
mov dword [0x140022104], eax
mov eax, dword [rsp + 0x54]
add eax, 0xca1e
mov dword [rsp + 0x84], eax
xor r9d, r9d
xor r8d, r8d
mov edx, 0x70
xor ecx, ecx
call fcn.140001430
mov dword [0x1400220f8], eax
cmp dword [0x1400220f8], 0
jbe 0x140003a3f
mov dword [rsp + 0x78], 1
jmp 0x140003a47
mov dword [rsp + 0x78], 0
cmp dword [0x1400220f8], 0x63
jbe 0x140003a5a
mov dword [rsp + 0x74], 1
jmp 0x140003a62
mov dword [rsp + 0x74], 0
mov eax, dword [rsp + 0x74]
cmp dword [rsp + 0x78], eax
jle 0x140003aa1
mov rax, qword [rsp + 0x98]
inc rax
mov qword [rsp + 0x98], rax
mov eax, 1
imul rax, rax, 0x16b
lea rcx, [0x140296140]
movzx eax, byte [rcx + rax]
mov byte [0x140022043], al
jmp 0x140003b70
mov rax, qword [rsp + 0xd0]
mov rcx, qword [0x140022150]
add rax, rcx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0x90]
not rax
mov rcx, qword [0x1400220e0]
sub rcx, rax
mov rax, rcx
movzx ecx, word [rsp + 0x44]
movsx rcx, cx
add rcx, qword [rsp + 0xa0]
xor rax, rcx
not rax
mov byte [0x14002202e], al
mov eax, dword [0x14002210c]
test eax, eax
jne 0x140003b04
mov dword [rsp + 0x7c], 1
jmp 0x140003b0c
mov dword [rsp + 0x7c], 0
mov rax, qword [rsp + 0x98]
test rax, rax
jne 0x140003b26
mov dword [rsp + 0x80], 1
jmp 0x140003b31
mov dword [rsp + 0x80], 0
movzx eax, byte [rsp + 0x40]
imul eax, dword [rsp + 0x7c]
not eax
movzx ecx, word [0x140022044]
movzx edx, word [0x1400220d4]
or ecx, edx
add eax, ecx
movzx ecx, word [0x14002212c]
movzx ecx, cx
add ecx, dword [rsp + 0x80]
mov edx, dword [0x140022124]
sub edx, ecx
mov ecx, edx
add eax, ecx
mov byte [rsp + 0x42], al
mov rax, qword [0x140022118]
mov rcx, qword [rsp + 0x60]
sub rax, rcx
mov rcx, qword [0x140022118]
or rcx, rax
mov rax, rcx
mov qword [0x140022118], rax
mov rax, qword [rsp + 0x90]
and rax, 0x95
mov qword [rsp + 0x100], rax
mov eax, dword [rsp + 0x84]
mov ecx, dword [rsp + 0x84]
xor eax, ecx
mov ecx, 1
sub ecx, eax
mov eax, ecx
mov dword [rsp + 0xac], eax
mov eax, dword [0x1400220f8]
shr eax, 8
mov dword [rsp + 0x58], eax
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0xc8
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.1400033e0
mov dword [rsp + 0x58], eax
movzx eax, word [0x140022114]
cwde
test eax, eax
je 0x140003c32
mov rax, qword [0x1400220e0]
add rax, 0x88
mov word [0x140022158], ax
mov rax, qword [rsp + 0xa0]
add rax, 0x5619
mov word [0x140022148], ax
jmp 0x140003cb0
movzx eax, byte [rsp + 0x40]
mov rcx, qword [0x140022150]
sub rax, rcx
cmp rax, 0x8a
jb 0x140003cb0
mov rax, qword [0x1400220e0]
mov dword [rsp + 0x5c], eax
movzx eax, word [0x140022158]
mov rcx, qword [rsp + 0x60]
imul rcx, rax
mov rax, rcx
mov rcx, qword [rsp + 0x60]
sub rcx, rax
mov rax, rcx
mov qword [rsp + 0x60], rax
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140003c91
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0xd8], rax
jmp 0x140003ca1
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0xd8], rax
movzx eax, word [rsp + 0xd8]
mov word [0x14002202c], ax
mov dword [rsp + 0xa8], 0x40
mov word [rsp + 0x30], 0
mov word [rsp + 0x28], 0
mov word [rsp + 0x20], 0
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov cx, 0x98
call fcn.140001820
mov word [0x1400220d4], ax
movzx eax, word [0x1400220d4]
test eax, eax
jge 0x140003d57
mov rax, qword [rsp + 0x98]
sub rax, qword [rsp + 0xe0]
test rax, rax
jne 0x140003d15
mov dword [rsp + 0x88], 1
jmp 0x140003d20
mov dword [rsp + 0x88], 0
mov eax, dword [rsp + 0x88]
mov dword [rsp + 0x58], eax
movzx eax, byte [rsp + 0x41]
movsx eax, al
sub eax, 0x3950436e
mov word [0x1400220d4], ax
mov eax, dword [rsp + 0xbc]
add eax, 0x60a5
cdqe
mov qword [rsp + 0x90], rax
jmp 0x140003dc2
movzx eax, byte [rsp + 0x48]
movsx eax, al
cmp dword [0x1400220f8], eax
jb 0x140003d78
movsxd rax, dword [0x140022110]
cmp rax, qword [rsp + 0xa0]
jne 0x140003dc2
movzx eax, word [rsp + 0x44]
movsx rax, ax
mov ecx, 8
imul rcx, rcx, 0xc68e
lea rdx, [0x14011dea0]
mov qword [rdx + rcx], rax
mov eax, 8
imul rax, rax, 0x95
lea rcx, [0x140217750]
mov rax, qword [rcx + rax]
mov qword [rsp + 0xc0], rax
movzx eax, byte [rsp + 0x41]
inc al
mov byte [rsp + 0x41], al
lea r8, [rsp + 0xa8]
lea rdx, [rsp + 0x140]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_GetComputerNameExA]
mov rdx, qword [rsp + 0x1a0]
lea rcx, [rsp + 0x140]
call fcn.14000c5d0
test eax, eax
je 0x140003ebe
mov eax, dword [0x1400220f4]
cdqe
mov rcx, qword [rsp + 0x60]
xor rax, rcx
mov ecx, dword [0x1400220f4]
movsxd rcx, ecx
sub rcx, rax
mov rax, rcx
mov dword [0x1400220f4], eax
movzx eax, word [0x14002202c]
movzx eax, ax
mov rcx, qword [0x140022140]
add rcx, rax
mov rax, rcx
mov qword [0x140022140], rax
movzx eax, word [rsp + 0x44]
movsx rax, ax
sub rax, qword [rsp + 0x90]
movzx ecx, word [rsp + 0x44]
movsx rcx, cx
add rcx, rax
mov rax, rcx
mov word [rsp + 0x44], ax
mov rax, qword [0x140022130]
test rax, rax
je 0x140003eb3
movzx eax, word [rsp + 0x4c]
movsx rax, ax
movabs rcx, 0x956c659487c8d
sub rax, rcx
mov ecx, dword [rsp + 0x5c]
movsxd rcx, ecx
sub rcx, rax
mov rax, rcx
mov dword [rsp + 0x5c], eax
mov eax, dword [rsp + 0x68]
add eax, 0xadd2ecd5
mov byte [rsp + 0x41], al
movzx eax, word [0x14002212c]
inc ax
mov word [0x14002212c], ax
mov eax, dword [rsp + 0xac]
neg eax
jmp 0x140003eee
lea rax, [rsp + 0x120]
lea rcx, str.._AV_Ref_count_bas
mov rdi, rax
mov rsi, rcx
mov ecx, 0x13
rep movsb byte [rdi], byte [rsi]
lea rcx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [rsp + 0x40], al
xor eax, eax
add rsp, 0x188
pop rdi
pop rsi
ret