Function at 0x14012b490
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 [0x140362028]
xor rax, rsp
mov qword [rsp + 0x278], rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x38], rax
mov qword [rcx + 0x10], rax
movaps xmm6, xmmword [0x140232ef0]
movups xmmword [rcx], xmm6
cmp byte [rdx + 0x17], 0
js 0x14012b4f3
mov rax, qword [rdx + 0x10]
mov qword [rsi + 0x10], rax
movups xmm0, xmmword [rdx]
movups xmmword [rsi], xmm0
jmp 0x14012b505
mov rax, qword [rdx]
mov r8, qword [rdx + 8]
mov rcx, rsi
mov rdx, rax
call fcn.1400b96a0
movzx ebp, byte [rsi + 0x17]
test bpl, bpl
mov rcx, qword [rsi + 8]
mov rax, rbp
cmovs rax, rcx
test rax, rax
je 0x14012bb74
cmp rax, 1
je 0x14012b58f
test bpl, bpl
mov rdx, qword [rsi]
mov rbx, rsi
cmovs rbx, rdx
movzx edi, word [rbx]
cmp di, 0x27
je 0x14012b54c
cmp di, 0x22
jne 0x14012b58f
cmp word [rbx + rax*2 - 2], 0x22
je 0x14012b554
jmp 0x14012b58f
cmp word [rbx + rax*2 - 2], 0x27
jne 0x14012b58f
test bpl, bpl
js 0x14012b56a
lea rax, [rbp - 1]
mov byte [rsi + 0x17], al
lea rax, [rsi + rbp*2]
add rax, 0xfffffffffffffffe
jmp 0x14012b57a
lea rax, [rcx - 1]
mov qword [rsi + 8], rax
lea rax, [rdx + rcx*2]
add rax, 0xfffffffffffffffe
mov word [rax], 0
mov r8d, 1
mov rcx, rsi
xor edx, edx
call fcn.1400ba1a0
lea rcx, str.shell32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov rdi, rax
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x30], rax
test rdi, rdi
je 0x14012b5c8
lea rdx, [0x14024eb52]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x40], rdi
xor r15d, r15d
lea rbx, str._windows
mov qword [rsp + 0x28], rsi
mov r13, r15
shl r13, 4
mov rdi, qword [r13 + rbx]
mov rcx, rdi
call fcn.1401d0678
movzx edx, byte [rsi + 0x17]
mov r10, rsi
test dl, dl
jns 0x14012b5fe
mov r10, qword [rsi]
test rax, rax
je 0x14012b6ab
test dl, dl
jns 0x14012b60f
mov rdx, qword [rsi + 8]
cmp rdx, rax
jl 0x14012b899
lea r8, [r10 + rdx*2]
movzx ebp, word [rdi]
lea r9, [r10 + rdx*2]
add r9, 0xfffffffffffffffe
mov r12, r10
mov rcx, rdx
sub rcx, rax
inc rcx
je 0x14012b899
inc rdx
xor ecx, ecx
cmp word [r12 + rcx], bp
je 0x14012b656
add rcx, 2
dec rdx
cmp rax, rdx
jne 0x14012b63e
jmp 0x14012b899
mov rdx, r12
add rdx, rcx
je 0x14012b899
mov esi, 1
mov ebx, ebp
cmp bx, word [rdi + rsi*2 - 2]
jne 0x14012b682
cmp rax, rsi
je 0x14012b811
movzx ebx, word [rdx + rsi*2]
inc rsi
jmp 0x14012b669
mov rdx, r9
sub rdx, r12
add r12, rcx
add r12, 2
sub rdx, rcx
sar rdx, 1
cmp rdx, rax
mov rsi, qword [rsp + 0x28]
lea rbx, str._windows
jge 0x14012b62a
jmp 0x14012b899
xor r12d, r12d
mov rcx, rdi
call fcn.1401d0678
mov r14, rax
mov r8d, 0x208
lea rdi, [rsp + 0x70]
mov rcx, rdi
mov dl, 0xaa
call fcn.1401a64a0
mov r8d, dword [r13 + rbx + 8]
xor ecx, ecx
mov rdx, rdi
xor r9d, r9d
mov rax, qword [rsp + 0x30]
call qword [case.0x1401f58d0.0]
test eax, eax
jne 0x14012b6f1
mov word [rsp + 0x70], 0
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x60], rax
movaps xmmword [rsp + 0x50], xmm6
mov rcx, rdi
call fcn.1401d0678
mov rsi, rax
movabs rax, 0x7fffffffffffffef
cmp rsi, rax
lea r13, [rsp + 0x50]
ja 0x14012bdfd
cmp rsi, 0xb
jae 0x14012b73d
mov byte [rsp + 0x67], sil
mov rbx, r13
test rsi, rsi
jne 0x14012b776
jmp 0x14012b787
lea rdi, [rsi + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.1401a2e6c
mov rbx, rax
mov qword [rsp + 0x50], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rdi
lea rdi, [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rsi
mov r8, rsi
add r8, rsi
mov rcx, rbx
mov rdx, rdi
call fcn.1401a6090
mov word [rbx + rsi*2], 0
movzx edi, byte [rsp + 0x67]
test dil, dil
mov rcx, qword [rsp + 0x58]
mov rax, rdi
cmovs rax, rcx
test rax, rax
je 0x14012b853
test dil, dil
mov rdx, qword [rsp + 0x50]
mov rbp, r13
cmovs rbp, rdx
cmp word [rbp + rax*2 - 2], 0x5c
jne 0x14012b853
mov rbp, qword [rsp + 0x28]
movzx ebx, byte [rbp + 0x17]
mov rax, rbx
test bl, bl
jns 0x14012b7d9
mov rax, qword [rbp + 8]
lea rsi, [r14 + r12]
cmp rax, rsi
jbe 0x14012b853
mov rax, qword [rsp + 0x28]
test bl, bl
jns 0x14012b7f3
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
cmp word [rax + rsi*2], 0x5c
jne 0x14012b853
test dil, dil
js 0x14012b83d
lea rax, [rdi - 1]
mov byte [rsp + 0x67], al
lea rax, [rsp + rdi*2]
add rax, 0x4e
jmp 0x14012b84e
cmp rdx, r8
mov rsi, qword [rsp + 0x28]
lea rbx, str._windows
je 0x14012b899
sub r12, r10
lea rax, [r12 + rcx]
add rax, 2
test rax, rax
je 0x14012b899
add r12, rcx
sar r12, 1
jmp 0x14012b6ae
lea rax, [rcx - 1]
mov qword [rsp + 0x58], rax
lea rax, [rdx + rcx*2]
add rax, 0xfffffffffffffffe
mov word [rax], 0
movzx eax, byte [rsp + 0x67]
test al, al
cmovs rax, qword [rsp + 0x58]
mov r9, qword [rsp + 0x50]
cmovns r9, r13
mov qword [rsp + 0x20], rax
mov rsi, qword [rsp + 0x28]
mov rcx, rsi
mov rdx, r12
mov r8, r14
call fcn.1400b9220
cmp byte [rsp + 0x67], 0
jns 0x14012b892
mov rcx, qword [rsp + 0x50]
call fcn.1401a2ea8
lea rbx, str._windows
inc r15
cmp r15, 7
jne 0x14012b5dc
lea rcx, str.advapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r15, rax
test rax, rax
je 0x14012b8d0
lea rdx, [0x14024ec02]
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r13, rax
jmp 0x14012b8da
movabs r13, 0xaaaaaaaaaaaaaaaa
mov dl, byte [rsi + 0x17]
test dl, dl
mov r11, qword [rsi]
mov r10, qword [rsi + 8]
mov rax, rsi
cmovs rax, r11
movzx ebp, dl
mov rcx, rbp
cmovs rcx, r10
cmp rcx, 0xc
jge 0x14012b947
test dl, dl
mov rsi, qword [rsp + 0x28]
cmovns r11, rsi
cmovs rbp, r10
cmp rbp, 0xf
jge 0x14012b9f7
lea rcx, str.wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r12, rax
test rax, rax
je 0x14012bac6
lea rdx, [0x14024ec2c]
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov r14, rax
jmp 0x14012bad0
lea r8, [rax + rcx*2]
lea r9, [rax + rcx*2]
add r9, 0xfffffffffffffffe
add rcx, rcx
mov rdi, rax
shr rcx, 1
add rcx, 0xfffffffffffffff5
xor esi, esi
cmp word [rdi + rsi], 0x24
je 0x14012b974
add rsi, 2
dec rcx
jne 0x14012b962
jmp 0x14012b8fd
mov rbx, rdi
add rbx, rsi
je 0x14012b8fd
cmp word [rdi + rsi + 2], 0x7b
jne 0x14012b9d8
cmp word [rdi + rsi + 4], 0x75
jne 0x14012b9d8
cmp word [rdi + rsi + 6], 0x73
jne 0x14012b9d8
cmp word [rdi + rsi + 8], 0x65
jne 0x14012b9d8
cmp word [rdi + rsi + 0xa], 0x72
jne 0x14012b9d8
cmp word [rdi + rsi + 0xc], 0x5f
jne 0x14012b9d8
cmp word [rdi + rsi + 0xe], 0x6e
jne 0x14012b9d8
cmp word [rdi + rsi + 0x10], 0x61
jne 0x14012b9d8
cmp word [rdi + rsi + 0x12], 0x6d
jne 0x14012b9d8
cmp word [rdi + rsi + 0x14], 0x65
jne 0x14012b9d8
cmp word [rdi + rsi + 0x16], 0x7d
je 0x14012bd40
mov rcx, r9
sub rcx, rdi
add rdi, rsi
add rdi, 2
sub rcx, rsi
cmp rcx, 0x18
jge 0x14012b959
jmp 0x14012b8fd
lea rdx, [r11 + rbp*2]
lea rax, [r11 + rbp*2]
add rax, 0xfffffffffffffffe
add rbp, rbp
mov rdi, r11
shr rbp, 1
add rbp, 0xfffffffffffffff2
xor ebx, ebx
cmp word [rdi + rbx], 0x24
je 0x14012ba27
add rbx, 2
dec rbp
jne 0x14012ba12
jmp 0x14012b916
mov rcx, rdi
add rcx, rbx
je 0x14012b916
cmp word [rdi + rbx + 2], 0x7b
jne 0x14012baa7
cmp word [rdi + rbx + 4], 0x6d
jne 0x14012baa7
cmp word [rdi + rbx + 6], 0x61
jne 0x14012baa7
cmp word [rdi + rbx + 8], 0x63
jne 0x14012baa7
cmp word [rdi + rbx + 0xa], 0x68
jne 0x14012baa7
cmp word [rdi + rbx + 0xc], 0x69
jne 0x14012baa7
cmp word [rdi + rbx + 0xe], 0x6e
jne 0x14012baa7
cmp word [rdi + rbx + 0x10], 0x65
jne 0x14012baa7
cmp word [rdi + rbx + 0x12], 0x5f
jne 0x14012baa7
cmp word [rdi + rbx + 0x14], 0x6e
jne 0x14012baa7
cmp word [rdi + rbx + 0x16], 0x61
jne 0x14012baa7
cmp word [rdi + rbx + 0x18], 0x6d
jne 0x14012baa7
cmp word [rdi + rbx + 0x1a], 0x65
jne 0x14012baa7
cmp word [rdi + rbx + 0x1c], 0x7d
je 0x14012bf88
mov rbp, rax
sub rbp, rdi
add rdi, rbx
add rdi, 2
sub rbp, rbx
cmp rbp, 0x1e
jge 0x14012ba09
jmp 0x14012b916
movabs r14, 0xaaaaaaaaaaaaaaaa
lea rcx, str.wtsapi32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov r13, rax
test rax, rax
je 0x14012bafa
lea rdx, [0x14024ec64]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x38], rax
mov dl, byte [rsi + 0x17]
test dl, dl
mov r11, qword [rsi]
mov r10, qword [rsi + 8]
mov rax, rsi
cmovs rax, r11
movzx ebx, dl
mov rcx, rbx
cmovs rcx, r10
cmp rcx, 0xe
jge 0x14012bba3
test dl, dl
cmovns r11, rsi
cmovs rbx, r10
cmp rbx, 0xf
jge 0x14012bc70
test r13, r13
je 0x14012bb43
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r12, r12
je 0x14012bb51
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
test r15, r15
mov rsi, qword [rsp + 0x28]
je 0x14012bb64
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x14012bb74
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rcx, qword [rsp + 0x278]
xor rcx, rsp
call fcn.1401a4270
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 r8, [rax + rcx*2]
lea r9, [rax + rcx*2]
add r9, 0xfffffffffffffffe
add rcx, rcx
mov rbp, rax
shr rcx, 1
add rcx, 0xfffffffffffffff3
xor edi, edi
cmp word [rbp + rdi], 0x24
je 0x14012bbd4
add rdi, 2
dec rcx
jne 0x14012bbbe
jmp 0x14012bb21
mov rsi, rbp
add rsi, rdi
je 0x14012bec5
cmp word [rbp + rdi + 2], 0x7b
jne 0x14012bc4c
cmp word [rbp + rdi + 4], 0x63
jne 0x14012bc4c
cmp word [rbp + rdi + 6], 0x6c
jne 0x14012bc4c
cmp word [rbp + rdi + 8], 0x69
jne 0x14012bc4c
cmp word [rbp + rdi + 0xa], 0x65
jne 0x14012bc4c
cmp word [rbp + rdi + 0xc], 0x6e
jne 0x14012bc4c
cmp word [rbp + rdi + 0xe], 0x74
jne 0x14012bc4c
cmp word [rbp + rdi + 0x10], 0x5f
jne 0x14012bc4c
cmp word [rbp + rdi + 0x12], 0x6e
jne 0x14012bc4c
cmp word [rbp + rdi + 0x14], 0x61
jne 0x14012bc4c
cmp word [rbp + rdi + 0x16], 0x6d
jne 0x14012bc4c
cmp word [rbp + rdi + 0x18], 0x65
jne 0x14012bc4c
cmp word [rbp + rdi + 0x1a], 0x7d
je 0x14012be07
mov rcx, r9
sub rcx, rbp
add rbp, rdi
add rbp, 2
sub rcx, rdi
cmp rcx, 0x1c
mov rsi, qword [rsp + 0x28]
jge 0x14012bbb5
jmp 0x14012bb21
lea rdx, [r11 + rbx*2]
lea rax, [r11 + rbx*2]
add rax, 0xfffffffffffffffe
add rbx, rbx
mov rbp, r11
shr rbx, 1
add rbx, 0xfffffffffffffff2
xor esi, esi
cmp word [rbp + rsi], 0x24
je 0x14012bca1
add rsi, 2
dec rbx
jne 0x14012bc8b
jmp 0x14012bb35
mov rcx, rbp
add rcx, rsi
je 0x14012bb35
cmp word [rbp + rsi + 2], 0x7b
jne 0x14012bd21
cmp word [rbp + rsi + 4], 0x73
jne 0x14012bd21
cmp word [rbp + rsi + 6], 0x65
jne 0x14012bd21
cmp word [rbp + rsi + 8], 0x73
jne 0x14012bd21
cmp word [rbp + rsi + 0xa], 0x73
jne 0x14012bd21
cmp word [rbp + rsi + 0xc], 0x69
jne 0x14012bd21
cmp word [rbp + rsi + 0xe], 0x6f
jne 0x14012bd21
cmp word [rbp + rsi + 0x10], 0x6e
jne 0x14012bd21
cmp word [rbp + rsi + 0x12], 0x5f
jne 0x14012bd21
cmp word [rbp + rsi + 0x14], 0x6e
jne 0x14012bd21
cmp word [rbp + rsi + 0x16], 0x61
jne 0x14012bd21
cmp word [rbp + rsi + 0x18], 0x6d
jne 0x14012bd21
cmp word [rbp + rsi + 0x1a], 0x65
jne 0x14012bd21
cmp word [rbp + rsi + 0x1c], 0x7d
je 0x14012c045
mov rbx, rax
sub rbx, rbp
add rbp, rsi
add rbp, 2
sub rbx, rsi
cmp rbx, 0x1e
jge 0x14012bc82
jmp 0x14012bb35
cmp rbx, r8
je 0x14012b8fd
sub rdi, rax
lea rax, [rdi + rsi]
add rax, 2
test rax, rax
je 0x14012b8fd
lea rbx, [rsp + 0x50]
mov dword [rbx], 0
xor ecx, ecx
mov rdx, rbx
mov rax, r13
call qword [case.0x1401f58d0.0]
mov ecx, dword [rbx]
test rcx, rcx
je 0x14012bf71
add rcx, rcx
call fcn.1401a2edc
mov r14, rax
lea rdx, [rsp + 0x50]
mov rcx, rax
mov rax, r13
call qword [case.0x1401f58d0.0]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
mov rcx, r14
call fcn.1401d0678
mov rbp, rax
movabs rax, 0x7fffffffffffffef
cmp rbp, rax
ja 0x14012c2fd
add rdi, rsi
sar rdi, 1
cmp rbp, 0xb
jae 0x14012becf
mov byte [rsp + 0x87], bpl
lea rbx, [rsp + 0x70]
test rbp, rbp
jne 0x14012bf06
jmp 0x14012bf17
lea rcx, [rsp + 0x50]
call fcn.1400b7d50
cmp rsi, r8
je 0x14012bec5
sub rbp, rax
lea rax, [rdi + rbp]
add rax, 2
test rax, rax
mov rsi, qword [rsp + 0x28]
je 0x14012bb21
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, r14
call qword [case.0x1401f58d0.0]
test eax, eax
je 0x14012c19c
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], rcx
call fcn.1401d0678
mov rbx, rax
movabs rax, 0x7fffffffffffffef
cmp rbx, rax
ja 0x14012c2fd
add rbp, rdi
sar rbp, 1
cmp rbx, 0xb
jae 0x14012c0fd
lea rsi, [rsp + 0x70]
mov byte [rsi + 0x17], bl
test rbx, rbx
jne 0x14012c134
jmp 0x14012c147
mov rsi, qword [rsp + 0x28]
jmp 0x14012bb21
lea rsi, [rbp + 8]
and rsi, 0xfffffffffffffff8
lea rcx, [rsi + rsi]
call fcn.1401a2e6c
mov rbx, rax
mov qword [rsp + 0x70], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rsi
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rbp
mov r8, rbp
add r8, rbp
mov rcx, rbx
mov rdx, r14
call fcn.1401a6090
mov word [rbx + rbp*2], 0
movzx eax, byte [rsp + 0x87]
test al, al
cmovs rax, qword [rsp + 0x78]
lea r9, [rsp + 0x70]
cmovs r9, qword [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r8d, ntohs
mov rcx, qword [rsp + 0x28]
mov rdx, rdi
call fcn.1400b9220
cmp byte [rsp + 0x87], 0
jns 0x14012bf64
mov rcx, qword [rsp + 0x70]
call fcn.1401a2ea8
test r14, r14
je 0x14012bf71
mov rcx, r14
call fcn.1401a2ee4
mov rax, qword [rsp + 0x28]
mov dl, byte [rax + 0x17]
mov r11, qword [rax]
mov r10, qword [rax + 8]
movzx ebp, dl
jmp 0x14012b8fd
cmp rcx, rdx
je 0x14012b916
sub rdi, r11
lea rax, [rdi + rbx]
add rax, 2
test rax, rax
je 0x14012b916
lea rsi, [rsp + 0x50]
mov dword [rsi], 0
mov ecx, 5
xor edx, edx
mov r8, rsi
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
mov ecx, dword [rsi]
test rcx, rcx
je 0x14012c24d
add rcx, rcx
call fcn.1401a2edc
mov r12, rax
lea r8, [rsp + 0x50]
mov ecx, 5
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_GetComputerNameExW]
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
mov rcx, r12
call fcn.1401d0678
mov rbp, rax
movabs rax, 0x7fffffffffffffef
cmp rbp, rax
ja 0x14012c2fd
add rdi, rbx
sar rdi, 1
cmp rbp, 0xb
jae 0x14012c1b3
lea rsi, [rsp + 0x70]
mov byte [rsi + 0x17], bpl
test rbp, rbp
jne 0x14012c1ea
jmp 0x14012c1fb
cmp rcx, rdx
je 0x14012bb35
sub rbp, r11
lea rax, [rsi + rbp]
add rax, 2
test rax, rax
je 0x14012bb35
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, r14
call qword [case.0x1401f58d0.0]
test eax, eax
je 0x14012bb35
movabs rax, 0xaaaaaaaaaaaaaaaa
mov qword [rsp + 0x80], rax
movaps xmmword [rsp + 0x70], xmm6
mov r14, qword [rsp + 0x50]
mov rcx, r14
call fcn.1401d0678
mov rdi, rax
movabs rax, 0x7fffffffffffffef
cmp rdi, rax
ja 0x14012c2fd
add rbp, rsi
sar rbp, 1
cmp rdi, 0xb
jae 0x14012c257
lea rsi, [rsp + 0x70]
mov byte [rsi + 0x17], dil
test rdi, rdi
jne 0x14012c28e
jmp 0x14012c29f
lea rdi, [rbx + 8]
and rdi, 0xfffffffffffffff8
lea rcx, [rdi + rdi]
call fcn.1401a2e6c
mov rsi, rax
mov qword [rsp + 0x70], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rdi
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rbx
mov r8, rbx
add r8, rbx
mov rcx, rsi
mov rdx, qword [rsp + 0x30]
call fcn.1401a6090
mov word [rsi + rbx*2], 0
lea rsi, [rsp + 0x70]
movzx eax, byte [rsi + 0x17]
test al, al
cmovs rax, qword [rsi + 8]
mov r9, qword [rsi]
cmovns r9, rsi
mov qword [rsp + 0x20], rax
mov r8d, ntohs
mov rcx, qword [rsp + 0x28]
mov rdx, rbp
call fcn.1400b9220
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
call qword [case.0x1401f58d0.0]
cmp byte [rsi + 0x17], 0
jns 0x14012c19c
mov rcx, qword [rsp + 0x70]
call fcn.1401a2ea8
mov rsi, qword [rsp + 0x28]
mov dl, byte [rsi + 0x17]
mov r11, qword [rsi]
mov r10, qword [rsi + 8]
movzx ebx, dl
jmp 0x14012bb21
lea rbx, [rbp + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.1401a2e6c
mov rsi, rax
mov qword [rsp + 0x70], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rbp
mov r8, rbp
add r8, rbp
mov rcx, rsi
mov rdx, r12
call fcn.1401a6090
mov word [rsi + rbp*2], 0
lea rsi, [rsp + 0x70]
movzx eax, byte [rsi + 0x17]
test al, al
cmovs rax, qword [rsi + 8]
mov r9, qword [rsi]
cmovns r9, rsi
mov qword [rsp + 0x20], rax
mov r8d, reloc.WS2_32.dll_ntohs
mov rcx, qword [rsp + 0x28]
mov rdx, rdi
call fcn.1400b9220
cmp byte [rsi + 0x17], 0
jns 0x14012c240
mov rcx, qword [rsp + 0x70]
call fcn.1401a2ea8
test r12, r12
je 0x14012c24d
mov rcx, r12
call fcn.1401a2ee4
mov rsi, qword [rsp + 0x28]
jmp 0x14012b916
lea rbx, [rdi + 8]
and rbx, 0xfffffffffffffff8
lea rcx, [rbx + rbx]
call fcn.1401a2e6c
mov rsi, rax
mov qword [rsp + 0x70], rax
movabs rax, 0x7fffffffffffffef
add rax, 0x11
or rax, rbx
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x78], rdi
mov r8, rdi
add r8, rdi
mov rcx, rsi
mov rdx, r14
call fcn.1401a6090
mov word [rsi + rdi*2], 0
lea rsi, [rsp + 0x70]
movzx eax, byte [rsi + 0x17]
test al, al
cmovs rax, qword [rsi + 8]
mov r9, qword [rsi]
cmovns r9, rsi
mov qword [rsp + 0x20], rax
mov r8d, reloc.WS2_32.dll_ntohs
mov rcx, qword [rsp + 0x28]
mov rdx, rbp
call fcn.1400b9220
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x38]
call qword [case.0x1401f58d0.0]
cmp byte [rsi + 0x17], 0
jns 0x14012bb35
mov rcx, qword [rsp + 0x70]
call fcn.1401a2ea8
jmp 0x14012bb35
lea rcx, [rsp + 0x70]
call fcn.1400b7d50
int3