Function at 0x140160b20
Capabilities:
Access peb ldr_data

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xe8]
sub rsp, 0x1c0
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x1401c03c0]
xor rax, rsp
mov qword [rbp + 0xa0], rax
mov rsi, rcx
xor edi, edi
xorps xmm0, xmm0
movups xmmword [rbp + 0x40], xmm0
mov r12d, edi
mov qword [rbp + 0x50], rdi
mov eax, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x70], rax
mov qword [rbp + 0x58], rax
mov byte [rbp + 0x40], dil
mov qword [rsp + 0x40], rdi
mov byte [rsp + 0x48], dil
mov word [rsp + 0x51], di
mov byte [rsp + 0x58], dil
mov qword [rsp + 0x60], rdi
mov byte [rsp + 0x68], dil
mov dword [rsp + 0x4c], 1
mov byte [rsp + 0x50], 1
movsd xmm6, qword [rcx + 8]
mov r15d, dword [rcx + 0x10]
mov dword [rsp + 0x24], r15d
call fcn.14015f710
mov ecx, edi
cmp al, 0x3e
sete cl
mov dword [rsp + 0x54], ecx
mov dword [rsp + 0x5c], edi
mov edx, 8
mov ecx, dword [0x14022d3c0]
mov rax, qword gs:[0x58]
mov r13, qword [rax + rcx*8]
mov eax, dword [rdx + r13]
cmp dword [0x14022cd60], eax
jle 0x140160ccd
lea rcx, [0x14022cd60]
call fcn.140168018
cmp dword [0x14022cd60], 0xffffffff
jne 0x140160ccd
call fcn.1401600e0
mov rbx, rax
call fcn.140156b40
mov rdx, rax
mov r8, rbx
lea rcx, [rbp + 0x60]
call fcn.14015e720
mov rdi, rax
call fcn.140156b40
mov rbx, rax
call fcn.1401600e0
mov rdx, rax
mov r8, rbx
lea rcx, [rbp - 0x60]
call fcn.14015e720
nop
mov r8, rdi
mov rdx, rax
lea rcx, [rbp - 0x80]
call fcn.14015e860
mov rbx, rax
call fcn.1401600e0
mov r8, rax
mov rdx, rbx
lea rcx, [rbp - 0x40]
call fcn.14015e860
mov rbx, rax
call fcn.140156b40
mov r8, rax
mov rdx, rbx
lea rcx, [0x14022cd40]
call fcn.14015e860
nop
lea rcx, [rbp - 0x38]
call fcn.140158f70
nop
lea rcx, [rbp - 0x78]
call fcn.140158f70
nop
lea rcx, [rbp - 0x58]
call fcn.140158f70
nop
lea rcx, [rbp + 0x68]
call fcn.140158f70
lea rcx, [0x140172af0]
call fcn.1401683c4
nop
lea rcx, [0x14022cd60]
call fcn.140167fac
xor edi, edi
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
mov r14d, 0xffffffff
cmp qword [rsi + 0x38], 0
ja 0x140160cf6
xor edx, edx
mov rcx, rsi
call fcn.14015f490
test al, al
je 0x140160e06
lea rdx, [rsp + 0x28]
lea rcx, [0x14022cd40]
call fcn.1401591d0
mov r15d, eax
test eax, eax
jle 0x140160dff
mov rcx, rsi
call fcn.14015f710
movsx ebx, al
cmp bl, 0x2b
jne 0x140160d2f
mov dword [rsp + 0x5c], 1
jmp 0x140160df4
cmp bl, 0x2d
jne 0x140160d3e
mov dword [rsp + 0x5c], r14d
jmp 0x140160df4
mov eax, 8
mov eax, dword [rax + r13]
cmp dword [0x14022c878], eax
jle 0x140160d8e
lea rcx, [0x14022c878]
call fcn.140168018
cmp dword [0x14022c878], 0xffffffff
jne 0x140160d8e
mov r8b, reloc.WS2_32.dll_gethostname
mov dl, 0x30
lea rcx, [0x14022c858]
call fcn.14015e690
lea rcx, [0x140172900]
call fcn.1401683c4
nop
lea rcx, [0x14022c878]
call fcn.140167fac
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x30], 1
mov byte [rbp - 0x40], bl
mov byte [rbp - 0x3f], 0
lea rax, [rbp - 0x40]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x30], 1
mov qword [rsp + 0x38], 0
lea rdx, [rsp + 0x28]
lea rcx, [0x14022c858]
call fcn.140156120
shr eax, 0x1f
xor al, 1
je 0x140160df4
cmp bl, 0x30
je 0x140161514
lea eax, [rbx - 0x30]
mov dword [rsp + 0x4c], eax
mov byte [rsp + 0x50], 0
inc edi
cmp edi, r15d
jl 0x140160d12
xor edi, edi
mov r15d, dword [rsp + 0x24]
mov ebx, 8
nop dword [rax + rax]
mov eax, dword [rbx + r13]
cmp dword [0x14022c800], eax
jle 0x140160efc
lea rcx, [0x14022c800]
call fcn.140168018
cmp dword [0x14022c800], 0xffffffff
jne 0x140160efc
mov eax, dword [rbx + r13]
cmp dword [0x14022c7d8], eax
jle 0x140160e81
lea rcx, [0x14022c7d8]
call fcn.140168018
cmp dword [0x14022c7d8], 0xffffffff
jne 0x140160e81
mov dl, 9
lea rcx, [0x14022c7b8]
call fcn.14015e670
lea rcx, [0x140172980]
call fcn.1401683c4
nop
lea rcx, [0x14022c7d8]
call fcn.140167fac
mov eax, dword [rbx + r13]
cmp dword [0x14022c7b0], eax
jle 0x140160ec9
lea rcx, [0x14022c7b0]
call fcn.140168018
cmp dword [0x14022c7b0], 0xffffffff
jne 0x140160ec9
mov dl, reloc.WLDAP32.dll_Ordinal_32
lea rcx, [0x14022c790]
call fcn.14015e670
lea rcx, [0x140172970]
call fcn.1401683c4
nop
lea rcx, [0x14022c7b0]
call fcn.140167fac
lea r8, [0x14022c7b8]
lea rdx, [0x14022c790]
lea rcx, [0x14022c7e0]
call fcn.14015e860
lea rcx, [0x1401728c0]
call fcn.1401683c4
nop
lea rcx, [0x14022c800]
call fcn.140167fac
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
cmp qword [rsi + 0x38], 0
ja 0x140160f1b
xor edx, edx
mov rcx, rsi
call fcn.14015f490
test al, al
je 0x140160f42
lea rdx, [rsp + 0x28]
lea rcx, [0x14022c7e0]
call fcn.1401591d0
test eax, eax
js 0x140160f42
mov edx, 1
mov rcx, rsi
call fcn.14015f590
jmp 0x140160e10
mov eax, dword [rbx + r13]
cmp dword [0x14022c9b8], eax
jle 0x140160f8a
lea rcx, [0x14022c9b8]
call fcn.140168018
cmp dword [0x14022c9b8], 0xffffffff
jne 0x140160f8a
mov dl, reloc.WLDAP32.dll_Ordinal_35
lea rcx, [0x14022c998]
call fcn.14015e670
lea rcx, [0x1401728f0]
call fcn.1401683c4
nop
lea rcx, [0x14022c9b8]
call fcn.140167fac
lea rdx, [0x14022c998]
lea rcx, [rbp - 0x40]
call fcn.140156490
nop
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
cmp qword [rsi + 0x38], 0
ja 0x140160fba
xor edx, edx
mov rcx, rsi
call fcn.14015f490
test al, al
je 0x140160fcb
lea rdx, [rsp + 0x28]
lea rcx, [rbp - 0x40]
call fcn.1401591d0
mov r14d, eax
shr r14d, 0x1f
lea rcx, [rbp - 0x38]
call fcn.140158f70
xor r14b, 1
je 0x140161186
mov rcx, rsi
call fcn.14015ed30
test al, al
je 0x140161186
mov r14d, 0xa0d
nop dword [rax + rax]
mov eax, dword [rbx + r13]
cmp dword [0x14022c828], eax
jle 0x140161135
lea rcx, [0x14022c828]
call fcn.140168018
cmp dword [0x14022c828], 0xffffffff
jne 0x140161135
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], 2
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov word [rbp - 0x40], r14w
mov byte [rbp - 0x3e], 0
mov dl, reloc.WS2_32.dll_listen
lea rcx, [rbp + 0x80]
call fcn.14015e670
mov rdi, rax
mov r8d, 6
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x80]
call fcn.14015e5b0
mov rbx, rax
mov dl, 0xa
lea rcx, [rbp - 0x60]
call fcn.14015e670
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.14015e860
nop
mov r8, rdi
mov rdx, rax
lea rcx, [0x14022c808]
call fcn.14015e860
nop
lea rcx, [rbp + 0x68]
call fcn.140158f70
nop
lea rcx, [rbp - 0x58]
call fcn.140158f70
nop
lea rcx, [rbp - 0x78]
call fcn.140158f70
nop
lea rcx, [rbp + 0x88]
call fcn.140158f70
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140161105
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140161100
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016123f
call fcn.1401683dc
xor edi, edi
mov qword [rbp - 0x30], rdi
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x40], dil
lea rcx, [0x1401728e0]
call fcn.1401683c4
nop
lea rcx, [0x14022c828]
call fcn.140167fac
mov ebx, 8
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
cmp qword [rsi + 0x38], 0
ja 0x140161154
xor edx, edx
mov rcx, rsi
call fcn.14015f490
test al, al
je 0x140161169
lea rdx, [rsp + 0x28]
lea rcx, [0x14022c808]
call fcn.1401591d0
test eax, eax
jns 0x140161186
mov edx, 1
mov rcx, rsi
call fcn.14015f590
mov rcx, rsi
call fcn.14015ed30
test al, al
jne 0x140161000
mov rcx, rsi
call fcn.14015ed30
test al, al
je 0x1401611d2
call fcn.140156820
mov rbx, rax
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x30], rsi
cmp qword [rsi + 0x38], 0
ja 0x1401611bd
xor edx, edx
mov rcx, rsi
call fcn.14015f490
test al, al
je 0x140161553
lea rdx, [rsp + 0x28]
mov rcx, rbx
call fcn.1401591d0
test eax, eax
js 0x140161553
mov rcx, rsi
call fcn.140159e10
test eax, eax
js 0x1401611ea
mov rcx, rsi
call fcn.140159e10
add dword [rsp + 0x4c], eax
mov dword [rsp + 0x64], 2
lea r8, [rsp + 0x40]
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.140164a80
lea rcx, [rbp + 0x40]
cmp rcx, rax
je 0x140161246
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x40], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r13, xmm0
movq r12, xmm1
jmp 0x14016124b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
mov r13, qword [rsp + 0x70]
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140161289
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140161284
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140161284
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401683dc
mov word [rsi + 0x82], 1
mov dword [rbp - 0x20], edi
mov dword [rbp - 0x1c], reloc.WS2_32.dll_sendto
movsd qword [rbp - 0x18], xmm6
mov dword [rbp - 0x10], r15d
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], reloc.WS2_32.dll_ntohs
mov byte [rbp - 8], 0
mov qword [rbp + 0x18], rdi
movdqa xmmword [rbp + 0x20], xmm0
mov dword [rbp + 0x30], edi
lea r15, [rbp + 0x40]
mov r14, qword [rbp + 0x40]
cmp r13, 0xf
cmova r15, r14
cmp r12, 0xf
ja 0x1401612fc
mov qword [rbp + 8], r12
mov r8, r12
mov rdx, r15
lea rcx, [rbp - 8]
call sub.VCRUNTIME140.dll_memmove
mov byte [rbp + r12 - 8], 0
jmp 0x1401613a2
movabs rbx, 0x7fffffffffffffff
cmp r12, rbx
ja 0x140161508
mov rax, r12
or rax, 0xf
cmp rax, rbx
jbe 0x140161344
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.140168090
test rax, rax
je 0x14016136f
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140161383
mov rbx, rax
mov ecx, reloc.WLDAP32.dll_Ordinal_22
cmp rax, rcx
cmovb rbx, rcx
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x140161376
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x14016150e
jmp 0x140161329
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x140161383
call fcn.140168090
mov rdi, rax
mov qword [rbp + 8], r12
mov qword [rbp + 0x10], rbx
mov r8, r12
mov rdx, r15
mov rcx, rdi
call sub.VCRUNTIME140.dll_memcpy
mov byte [r12 + rdi], 0
mov qword [rbp - 8], rdi
lea rcx, [rsi + 0x58]
lea rdx, [rbp - 0x20]
call fcn.14015ff10
nop
mov rdi, qword [rbp + 0x18]
test rdi, rdi
je 0x14016145a
mov rbx, rdi
mov rsi, qword [rbp + 0x20]
cmp rdi, rsi
je 0x140161426
nop dword [rax]
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x14016140a
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x140161405
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x14016148c
mov rcx, r8
call fcn.1401683dc
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
add rbx, 0x20
cmp rbx, rsi
jne 0x1401613d0
mov rdx, qword [rbp + 0x28]
sub rdx, rdi
and rdx, 0xffffffffffffffe0
mov rax, rdi
cmp rdx, 0x1000
jb 0x140161452
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14016148c
mov rcx, rdi
call fcn.1401683dc
mov rdx, qword [rbp + 0x10]
cmp rdx, 0xf
jbe 0x140161499
inc rdx
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140161493
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140161493
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1401683dc
nop
cmp r13, 0xf
jbe 0x1401614d3
lea rdx, [r13 + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x1401614cb
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1401614cb
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1401683dc
mov rcx, qword [rbp + 0xa0]
xor rcx, rsp
call fcn.140167f50
lea r11, [rsp + 0x1c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140009f00
nop
call fcn.1400064e0
nop
lea rdx, [0x140183340]
lea rcx, [rbp + 0x60]
call fcn.140021310
nop
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.14015bdc0
mov rdx, rax
lea r8, [rbp + 0x60]
lea rcx, [rbp - 0x20]
call fcn.140154080
lea rdx, [0x1401b9370]
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
nop
lea rdx, [0x140183370]
lea rcx, [rbp + 0x80]
call fcn.140021310
nop
lea rdx, [rsp + 0x70]
mov rcx, rsi
call fcn.14015bdc0
mov rdx, rax
lea r8, [rbp + 0x80]
lea rcx, [rbp - 0x20]
call fcn.140154080
lea rdx, [0x1401b9370]
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll__CxxThrowException
int3