Function at 0x180039fa4
Capabilities:
Get hostname
Get session user name

Disassembly:
mov qword [rsp + 8], rcx
push rsi
push rdi
sub rsp, 0xc8
mov dword [rsp + 0x60], pe_nt_image_headers64
mov eax, dword [rsp + 0x60]
add eax, 0x400
mov ecx, eax
call fcn.18001a8e0
mov qword [rsp + 0x58], rax
mov edx, pe_nt_image_headers64
mov rcx, qword [rsp + 0x58]
call fcn.18001ac50
mov qword [rsp + 0x78], rax
mov edx, pe_nt_image_headers64
mov rcx, qword [rsp + 0x58]
call fcn.18001ac50
mov qword [rsp + 0x68], rax
mov edx, pe_nt_image_headers64
mov rcx, qword [rsp + 0x58]
call fcn.18001ac50
mov qword [rsp + 0x70], rax
mov edx, 0x80
mov rcx, qword [rsp + 0x58]
call fcn.18001ac50
mov qword [rsp + 0xb0], rax
mov edx, 0x80
mov rcx, qword [rsp + 0x58]
call fcn.18001ac50
mov qword [rsp + 0xa8], rax
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0
mov dword [rsp + 0x64], 0
mov rax, qword [rsp + 0xe0]
mov qword [0x180072438], rax
mov edx, dword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call fcn.18001ac50
mov qword [0x180072448], rax
movsxd rax, dword [rsp + 0x60]
mov qword [rsp + 0xa0], rax
mov rdi, qword [0x180072448]
xor eax, eax
mov rcx, qword [rsp + 0xa0]
rep stosb byte [rdi], al
call fcn.180039c68
mov ecx, 0x800
call fcn.18003f844
mov qword [0x180072440], rax
mov rdi, qword [0x180072440]
xor eax, eax
mov ecx, 0x800
rep stosb byte [rdi], al
mov qword [rsp + 0x20], 0
mov r9d, 1
mov r8d, 1
mov edx, 0x800
mov rcx, qword [0x180072440]
call fcn.18003ec98
mov ecx, 8
call fcn.180039c28
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
test eax, eax
jle 0x18003a176
xor ecx, ecx
call fcn.1800105bc
mov dword [rsp + 0x40], eax
mov ecx, dword [rsp + 0x40]
call sub.WS2_32.dll_htonl
mov dword [rsp + 0x40], eax
movzx eax, word [rsp + 0x30]
cmp eax, 1
jne 0x18003a12a
mov eax, dword [rsp + 0x40]
and eax, 0xff000000
mov dword [rsp + 0x40], eax
jmp 0x18003a15a
movzx eax, word [rsp + 0x30]
cmp eax, 2
jne 0x18003a143
mov eax, dword [rsp + 0x40]
and eax, 0xffff0000
mov dword [rsp + 0x40], eax
jmp 0x18003a15a
movzx eax, word [rsp + 0x30]
cmp eax, 3
jne 0x18003a15a
mov eax, dword [rsp + 0x40]
and eax, 0xffffff00
mov dword [rsp + 0x40], eax
mov r9d, 4
lea r8, [rsp + 0x40]
mov edx, 0x1800
lea rcx, str.._._._.._._.__
call fcn.180039e0c
mov ecx, 7
call fcn.180039c48
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
test eax, eax
jle 0x18003a1c1
mov dword [rsp + 0x3c], pe_nt_image_headers64
lea r8, [rsp + 0x3c]
mov rdx, qword [rsp + 0x70]
mov ecx, 6
call qword [sym.imp.KERNEL32.dll_GetComputerNameExA]
movzx eax, word [rsp + 0x30]
mov r8d, dword [rsp + 0x3c]
mov edx, eax
mov rcx, qword [rsp + 0x70]
call fcn.18003a7e4
mov ecx, 6
call fcn.180039c48
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
test eax, eax
jle 0x18003a207
mov dword [rsp + 0x3c], pe_nt_image_headers64
lea rdx, [rsp + 0x3c]
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.KERNEL32.dll_GetComputerNameA]
movzx eax, word [rsp + 0x30]
mov r8d, dword [rsp + 0x3c]
mov edx, eax
mov rcx, qword [rsp + 0x78]
call fcn.18003a7e4
mov ecx, 5
call fcn.180039c48
mov word [rsp + 0x30], ax
movzx eax, word [rsp + 0x30]
test eax, eax
jle 0x18003a257
mov dword [rsp + 0x3c], pe_nt_image_headers64
lea rdx, [rsp + 0x3c]
mov rcx, qword [rsp + 0x68]
call qword [sym.imp.ADVAPI32.dll_GetUserNameA]
mov eax, dword [rsp + 0x3c]
dec eax
mov dword [rsp + 0x3c], eax
movzx eax, word [rsp + 0x30]
mov r8d, dword [rsp + 0x3c]
mov edx, eax
mov rcx, qword [rsp + 0x68]
call fcn.18003a7e4
mov dword [rsp + 0x38], 0
jmp 0x18003a26b
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0x1800
jge 0x18003a299
movsxd rax, dword [rsp + 0x38]
lea rcx, str.._._._.._._.__
movsx eax, byte [rcx + rax]
xor eax, 0x2e
movsxd rcx, dword [rsp + 0x38]
lea rdx, str.._._._.._._.__
mov byte [rdx + rcx], al
jmp 0x18003a261
mov ecx, 9
call fcn.180039c28
mov dword [rsp + 0x48], eax
cmp dword [rsp + 0x48], 0
je 0x18003a323
mov dword [rsp + 0x38], 0
jmp 0x18003a2c2
mov eax, dword [rsp + 0x38]
inc eax
mov dword [rsp + 0x38], eax
cmp dword [rsp + 0x38], 0x1800
jge 0x18003a317
movsxd rax, dword [rsp + 0x38]
lea rcx, str.._._._.._._.__
movsx eax, byte [rcx + rax]
and eax, 0xff
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x38]
cdq
mov ecx, 3
idiv ecx
mov eax, edx
inc eax
mov ecx, dword [rsp + 0x64]
imul ecx, eax
mov eax, ecx
mov ecx, dword [rsp + 0x50]
add ecx, eax
mov eax, ecx
xor edx, edx
mov ecx, 0x5f5e0ff
div ecx
mov eax, edx
mov dword [rsp + 0x50], eax
jmp 0x18003a2b8
mov eax, dword [rsp + 0x48]
dec eax
mov dword [rsp + 0x48], eax
jmp 0x18003a333
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x50], 0
mov r8d, 0x1800
lea rdx, str.._._._.._._.__
lea rcx, [rsp + 0x80]
call fcn.18001aa80
mov eax, dword [rsp + 0x50]
cmp dword [rsp + 0x48], eax
jne 0x18003a4e0
xor eax, eax
cmp eax, 1
je 0x18003a4e0
lea rcx, [rsp + 0x80]
call fcn.18001ad04
mov word [rsp + 0x34], ax
movsx eax, word [rsp + 0x34]
test eax, eax
jg 0x18003a386
jmp 0x18003a4e0
lea rcx, [rsp + 0x80]
call fcn.18001ad04
mov word [rsp + 0x4c], ax
lea rcx, [rsp + 0x80]
call fcn.18001ad04
mov word [rsp + 0x44], ax
movsx rax, word [rsp + 0x34]
imul rax, rax, 0x10
mov rcx, qword [0x180072440]
movzx edx, word [rsp + 0x4c]
mov word [rcx + rax], dx
movsx eax, word [rsp + 0x4c]
mov dword [rsp + 0x54], eax
cmp dword [rsp + 0x54], 1
je 0x18003a3e7
cmp dword [rsp + 0x54], 2
je 0x18003a40f
cmp dword [rsp + 0x54], 3
je 0x18003a436
jmp 0x18003a4db
lea rcx, [rsp + 0x80]
call fcn.18001ad04
movsx rcx, word [rsp + 0x34]
imul rcx, rcx, 0x10
mov rdx, qword [0x180072440]
mov word [rdx + rcx + 8], ax
jmp 0x18003a4db
lea rcx, [rsp + 0x80]
call fcn.18001aac4
movsx rcx, word [rsp + 0x34]
imul rcx, rcx, 0x10
mov rdx, qword [0x180072440]
mov dword [rdx + rcx + 8], eax
jmp 0x18003a4db
movsx rax, word [rsp + 0x44]
mov rcx, rax
call fcn.18003f844
movsx rcx, word [rsp + 0x34]
imul rcx, rcx, 0x10
mov rdx, qword [0x180072440]
mov qword [rdx + rcx + 8], rax
movsx rax, word [rsp + 0x44]
mov qword [rsp + 0x98], rax
movsx ecx, word [rsp + 0x44]
mov edx, ecx
lea rcx, [rsp + 0x80]
call fcn.18001ac50
movsx rcx, word [rsp + 0x34]
imul rcx, rcx, 0x10
mov rdx, qword [0x180072440]
mov rdi, qword [rdx + rcx + 8]
mov rsi, rax
mov rax, qword [rsp + 0x98]
mov rcx, rax
rep movsb byte [rdi], byte [rsi]
movsx rax, word [rsp + 0x44]
movsx rcx, word [rsp + 0x34]
imul rcx, rcx, 0x10
mov qword [rsp + 0x20], 0
mov r9d, 1
mov r8d, 1
mov rdx, rax
mov rax, qword [0x180072440]
mov rcx, qword [rax + rcx + 8]
call fcn.18003ec98
jmp 0x18003a35b
mov rcx, qword [rsp + 0x58]
call fcn.18001aa50
lea rax, str.._._._.._._.__
mov rdi, rax
xor eax, eax
mov ecx, 0x1800
rep stosb byte [rdi], al
mov ecx, reloc.WS2_32.dll_recvfrom
call fcn.180039f1c
mov ecx, eax
call fcn.18003bdf4
add rsp, 0xc8
pop rdi
pop rsi
ret