Function at 0x18001a010
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xa0]
sub rsp, 0x1a0
mov qword [rsp + 0x60], 0xfffffffffffffffe
mov qword [rsp + 0x1f8], rbx
mov rax, qword [0x180067008]
xor rax, rsp
mov qword [rbp + 0x90], rax
mov r13, r8
mov r14, rdx
mov r12, rcx
xor ebx, ebx
mov dword [rsp + 0x58], ebx
mov rsi, qword [rcx + 0x28]
mov qword [rbp - 0x18], rsi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
cmp qword [r12 + 0x40], rbx
jne 0x18001a0b2
mov dword [r12], 6
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r14 + 0x10], rbx
cmp qword [r14 + 0x18], 0x10
jb 0x18001a095
mov rax, qword [r14]
jmp 0x18001a098
mov rax, r14
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x180057690]
mov rcx, r14
call fcn.1800020b0
jmp 0x18001af1b
mov rdi, qword [r12 + 0x60]
mov r15, qword [rdi + 8]
mov rbx, rdi
cmp byte [r15 + 0x19], 0
jne 0x18001a0f3
nop word [rax + rax]
lea rdx, [r15 + 0x20]
mov r8, r13
call fcn.18000c790
test al, al
je 0x18001a0e6
mov r15, qword [r15 + 0x10]
jmp 0x18001a0ec
mov rbx, r15
mov r15, qword [r15]
cmp byte [r15 + 0x19], 0
je 0x18001a0d0
cmp rbx, rdi
je 0x18001a108
lea r8, [rbx + 0x20]
mov rdx, r13
call fcn.18000c790
test al, al
je 0x18001a10b
mov rbx, rdi
cmp rdi, rbx
je 0x18001a147
lea rdx, [rbx + 0x40]
xor ebx, ebx
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r14 + 0x10], rbx
cmp qword [r14 + 0x18], 0x10
jb 0x18001a12e
mov rax, qword [r14]
jmp 0x18001a131
mov rax, r14
mov byte [rax], bl
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rcx, r14
call fcn.1800021e0
jmp 0x18001af1b
xor ebx, ebx
mov qword [rsp + 0x68], rbx
mov qword [rsp + 0x70], rbx
call fcn.18000f420
mov qword [rsp + 0x68], rax
mov qword [rbp - 0x68], rbx
mov qword [rbp - 0x60], rbx
call fcn.18000f420
mov qword [rbp - 0x68], rax
xor eax, eax
mov qword [rbp - 8], rax
mov dword [rbp - 8], ebx
mov dword [rbp - 4], 0x400
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
xor edx, edx
mov r8d, 0x400
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov qword [rbp - 0x10], rax
lea rdx, [rsp + 0x68]
call fcn.18001af60
movsd xmm0, qword [0x180058e50]
movsd qword [rbp], xmm0
mov eax, dword [0x180058e58]
mov dword [rbp + 8], eax
movzx eax, byte [0x180058e5c]
mov byte [rbp + 0xc], al
mov ecx, reloc.WS2_32.dll_inet_addr
nop dword [rax + rax]
movzx eax, byte [rbp + rcx - 1]
xor byte [rbp + rcx], al
dec rcx
test rcx, rcx
jg 0x18001a1d0
movzx r11d, byte [rbp]
xor r11b, 0x52
mov byte [rbp], r11b
movups xmm0, xmmword [0x180058e60]
movups xmmword [rbp + 0x10], xmm0
movzx eax, byte [0x180058e70]
mov byte [rbp + 0x20], al
lea r9, [rbp + 0x1e]
mov r10d, 3
nop dword [rax]
movzx ecx, byte [r9]
xor byte [r9 + 1], cl
movzx eax, byte [r9 - 1]
xor al, cl
mov byte [r9], al
movzx eax, byte [r9 - 2]
xor byte [r9 - 1], al
movzx eax, byte [r9 - 3]
xor byte [r9 - 2], al
movzx eax, byte [r9 - 4]
xor byte [r9 - 3], al
lea r9, [r9 - 5]
sub r10, 1
jne 0x18001a210
xor byte [rbp + 0x10], 0x90
mov qword [rbp - 0x70], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x78], rbx
mov byte [rsp + 0x78], r10b
test r11b, r11b
jne 0x18001a266
mov r8, rbx
jmp 0x18001a27a
lea rax, [rbp]
or r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x18001a270
lea rdx, [rbp]
lea rcx, [rsp + 0x78]
call fcn.1800020b0
nop
mov r15, qword [rsp + 0x68]
mov rdi, qword [r15 + 8]
mov rbx, r15
cmp byte [rdi + 0x19], 0
jne 0x18001a2db
nop dword [rax + rax]
lea rdx, [rdi + 0x20]
lea r8, [rsp + 0x78]
call fcn.18000c790
test al, al
je 0x18001a2b8
mov rdi, qword [rdi + 0x10]
jmp 0x18001a2be
mov rbx, rdi
mov rdi, qword [rdi]
cmp byte [rdi + 0x19], 0
je 0x18001a2a0
cmp rbx, r15
je 0x18001a2db
lea r8, [rbx + 0x20]
lea rdx, [rsp + 0x78]
call fcn.18000c790
test al, al
je 0x18001a314
lea rax, [rsp + 0x78]
mov qword [rsp + 0x50], rax
lea r8, [rsp + 0x50]
lea rcx, [rsp + 0x68]
call fcn.1800156a0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
mov r8, rbx
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x68]
call fcn.180015710
mov rbx, qword [rsp + 0x50]
cmp byte [rbp + 0x10], 0
jne 0x18001a321
xor edi, edi
mov r8d, edi
jmp 0x18001a33c
lea rax, [rbp + 0x10]
or r8, 0xffffffffffffffff
nop dword [rax]
inc r8
cmp byte [rax + r8], 0
jne 0x18001a330
xor edi, edi
lea rcx, [rbx + 0x40]
lea rdx, [rbp + 0x10]
call fcn.1800020b0
nop
mov rax, qword [rbp - 0x70]
cmp rax, 0x10
jb 0x18001a3a1
inc rax
mov rcx, qword [rsp + 0x78]
cmp rax, 0x1000
jb 0x18001a39c
test cl, 0x1f
je 0x18001a36f
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001a37e
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001a38d
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001a399
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov dword [rbp - 8], edi
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], rdi
mov byte [rbp - 0x38], 0
movaps xmm0, xmmword [str.K_K_Hr_r]
movaps xmmword [rbp + 0x30], xmm0
movaps xmm1, xmmword [0x180058e90]
movaps xmmword [rbp + 0x40], xmm1
movaps xmm0, xmmword [0x180058ea0]
movaps xmmword [rbp + 0x50], xmm0
movaps xmm1, xmmword [0x180058eb0]
movaps xmmword [rbp + 0x60], xmm1
movaps xmm0, xmmword [0x180058ec0]
movaps xmmword [rbp + 0x70], xmm0
movzx eax, byte [0x180058ed0]
mov byte [rbp + 0x80], al
mov ecx, 0x4f
nop dword [rax]
movzx eax, byte [rbp + rcx + 0x2f]
xor byte [rbp + rcx + 0x30], al
dec rcx
test rcx, rcx
jg 0x18001a400
xor byte [rbp + 0x30], 0x23
jne 0x18001a41c
mov r8, rdi
jmp 0x18001a42e
lea rax, [rbp + 0x30]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18001a424
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x38]
call fcn.1800020b0
mov qword [rbp - 0x40], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x48], rdi
mov byte [rbp - 0x58], 0
movsd xmm0, qword [0x180058ed8]
movsd qword [rbp], xmm0
movzx eax, word [0x180058ee0]
mov word [rbp + 8], ax
movzx eax, byte [0x180058ee2]
mov byte [rbp + 0xa], al
movzx eax, byte [rbp + 8]
xor byte [rbp + 9], al
movzx ecx, byte [rbp + 7]
xor al, cl
mov byte [rbp + 8], al
movzx eax, byte [rbp + 6]
xor cl, al
mov byte [rbp + 7], cl
movzx ecx, byte [rbp + 5]
xor al, cl
mov byte [rbp + 6], al
movzx eax, byte [rbp + 4]
xor cl, al
mov byte [rbp + 5], cl
movzx ecx, byte [rbp + 3]
xor al, cl
mov byte [rbp + 4], al
movzx eax, byte [rbp + 2]
xor cl, al
mov byte [rbp + 3], cl
movzx ecx, byte [rbp + 1]
xor al, cl
mov byte [rbp + 2], al
movzx eax, byte [rbp]
xor cl, al
mov byte [rbp + 1], cl
xor al, 0xbe
mov byte [rbp], al
jne 0x18001a4c8
mov r8, rdi
jmp 0x18001a4da
lea rax, [rbp]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18001a4d0
lea rdx, [rbp]
lea rcx, [rbp - 0x58]
call fcn.180006140
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, r13
lea rcx, [rbp - 0x58]
call fcn.180006290
movaps xmm0, xmmword [0x180058ef0]
movaps xmmword [rbp + 0x30], xmm0
movaps xmm1, xmmword [str.4]
movaps xmmword [rbp + 0x40], xmm1
movaps xmm0, xmmword [0x180058f10]
movaps xmmword [rbp + 0x50], xmm0
movaps xmm1, xmmword [0x180058f20]
movaps xmmword [rbp + 0x60], xmm1
movsd xmm0, qword [0x180058f30]
movsd qword [rbp + 0x70], xmm0
movzx eax, word [0x180058f38]
mov word [rbp + 0x78], ax
lea r8, [rbp + 0x77]
mov r9d, reloc.WS2_32.dll_inet_ntoa
nop dword [rax + rax]
movzx ecx, byte [r8]
xor byte [r8 + 1], cl
movzx eax, byte [r8 - 1]
xor al, cl
mov byte [r8], al
movzx eax, byte [r8 - 2]
xor byte [r8 - 1], al
movzx eax, byte [r8 - 3]
xor byte [r8 - 2], al
movzx eax, byte [r8 - 4]
xor byte [r8 - 3], al
movzx eax, byte [r8 - 5]
xor byte [r8 - 4], al
lea r8, [r8 - 6]
sub r9, 1
jne 0x18001a550
xor byte [rbp + 0x30], 0x84
jne 0x18001a59b
mov r8, rdi
jmp 0x18001a5ad
lea rax, [rbp + 0x30]
or r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x18001a5a3
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x58]
call fcn.180006140
mov dword [rsp + 0x50], edi
mov qword [rbp - 0x70], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x78], rdi
mov byte [rsp + 0x78], 0
mov r8d, 4
lea rdx, str.POST
lea rcx, [rsp + 0x78]
call fcn.1800020b0
nop
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rdx, qword [rbp - 0x38]
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x20], rdi
mov byte [rbp + 0x10], 0
cmp byte [rdx], 0
jne 0x18001a60f
mov r8, rdi
jmp 0x18001a61d
or r8, 0xffffffffffffffff
inc r8
cmp byte [rdx + r8], 0
jne 0x18001a613
lea rcx, [rbp + 0x10]
call fcn.1800020b0
nop
lea r8, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae r8, qword [rbp - 0x58]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp - 0x48]
lea rdx, [rbp + 0x10]
lea rcx, [r12 + 8]
call fcn.1800124b0
mov edi, eax
mov rcx, qword [rbp + 0x28]
cmp rcx, 0x10
jb 0x18001a6d3
inc rcx
mov rdx, qword [rbp + 0x10]
cmp rcx, 0x1000
jb 0x18001a6cb
test dl, 0x1f
je 0x18001a69e
call fcn.18003835c
int3
mov rax, qword [rdx - 8]
cmp rax, rdx
jb 0x18001a6ad
call fcn.18003835c
int3
sub rdx, rax
cmp rdx, 8
jae 0x18001a6bc
call fcn.18003835c
int3
cmp rdx, 0x27
jbe 0x18001a6c8
call fcn.18003835c
int3
mov rdx, rax
mov rcx, rdx
call fcn.180033ed0
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
xor ecx, ecx
mov qword [rbp + 0x20], rcx
mov byte [rbp + 0x10], cl
mov rax, qword [rbp - 0x70]
cmp rax, 0x10
jb 0x18001a73d
inc rax
mov rcx, qword [rsp + 0x78]
cmp rax, 0x1000
jb 0x18001a736
test cl, 0x1f
je 0x18001a709
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001a718
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001a727
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001a733
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
xor ecx, ecx
mov ebx, ecx
nop
test edi, edi
je 0x18001abe8
mov ecx, 0xbb8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov qword [rbp - 0x70], reloc.WS2_32.dll_ntohs
xor edi, edi
mov qword [rbp - 0x78], rdi
mov byte [rsp + 0x78], dil
lea r8d, [rdi + 4]
lea rdx, str.POST
lea rcx, [rsp + 0x78]
call fcn.1800020b0
nop
lea rdx, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
cmovae rdx, qword [rbp - 0x38]
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x20], rdi
mov byte [rbp + 0x10], dil
cmp byte [rdx], dil
jne 0x18001a7a4
mov r8d, edi
jmp 0x18001a7ba
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rdx + r8], 0
jne 0x18001a7b0
lea rcx, [rbp + 0x10]
call fcn.1800020b0
nop
lea r8, [rbp - 0x58]
cmp qword [rbp - 0x40], 0x10
cmovae r8, qword [rbp - 0x58]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x40], rax
lea rax, [rbp - 0x68]
mov qword [rsp + 0x38], rax
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x68]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, dword [rbp - 0x48]
lea rdx, [rbp + 0x10]
lea rcx, [r12 + 8]
call fcn.1800124b0
mov edi, eax
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x18001a85c
inc rax
mov rcx, qword [rbp + 0x10]
cmp rax, 0x1000
jb 0x18001a857
test cl, 0x1f
jne 0x18001a8cc
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18001a8c6
sub rcx, rax
cmp rcx, 8
jb 0x18001a8c0
cmp rcx, 0x27
ja 0x18001a8ba
mov rcx, rax
call fcn.180033ed0
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
xor ecx, ecx
mov qword [rbp + 0x20], rcx
mov byte [rbp + 0x10], cl
mov rax, qword [rbp - 0x70]
cmp rax, 0x10
jb 0x18001a8ae
inc rax
mov rcx, qword [rsp + 0x78]
cmp rax, 0x1000
jb 0x18001a8a7
test cl, 0x1f
jne 0x18001a8e4
mov rax, qword [rcx - 8]
cmp rax, rcx
jae 0x18001a8de
sub rcx, rax
cmp rcx, 8
jb 0x18001a8d8
cmp rcx, 0x27
ja 0x18001a8d2
mov rcx, rax
call fcn.180033ed0
xor ecx, ecx
inc ebx
cmp ebx, 3
jge 0x18001a8ea
jmp 0x18001a740
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
nop
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
call fcn.18003835c
int3
test edi, edi
je 0x18001abe8
lea eax, [rdi - 2]
test eax, 0xfffffffd
je 0x18001aa7b
lea eax, [rdi - 1]
test eax, 0xfffffffd
jne 0x18001abe8
mov dword [r12], 1
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r14 + 0x10], rcx
cmp qword [r14 + 0x18], 0x10
jb 0x18001a92e
mov rax, qword [r14]
jmp 0x18001a931
mov rax, r14
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x180057690]
mov rcx, r14
call fcn.1800020b0
nop
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x18001a99d
inc rax
mov rcx, qword [rbp - 0x58]
cmp rax, 0x1000
jb 0x18001a998
test cl, 0x1f
je 0x18001a96b
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001a97a
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001a989
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001a995
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x40], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rbp - 0x48], rbx
mov byte [rbp - 0x58], bl
mov rax, qword [rbp - 0x20]
cmp rax, 0x10
jb 0x18001aa04
inc rax
mov rcx, qword [rbp - 0x38]
cmp rax, 0x1000
jb 0x18001a9ff
test cl, 0x1f
je 0x18001a9d2
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001a9e1
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001a9f0
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001a9fc
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], rbx
mov byte [rbp - 0x38], 0
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x18001aa32
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x68]
call fcn.18000e170
mov rcx, qword [rbp - 0x68]
call fcn.180033ed0
nop
mov r8, qword [rsp + 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x68]
call fcn.18000e170
mov rcx, qword [rsp + 0x68]
call fcn.180033ed0
jmp 0x18001af1b
mov dword [r12], 3
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r14 + 0x10], rcx
cmp qword [r14 + 0x18], 0x10
jb 0x18001aa9b
mov rax, qword [r14]
jmp 0x18001aa9e
mov rax, r14
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x180057690]
mov rcx, r14
call fcn.1800020b0
nop
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x18001ab0a
inc rax
mov rcx, qword [rbp - 0x58]
cmp rax, 0x1000
jb 0x18001ab05
test cl, 0x1f
je 0x18001aad8
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001aae7
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001aaf6
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001ab02
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x40], reloc.WS2_32.dll_ntohs
xor ebx, ebx
mov qword [rbp - 0x48], rbx
mov byte [rbp - 0x58], bl
mov rax, qword [rbp - 0x20]
cmp rax, 0x10
jb 0x18001ab71
inc rax
mov rcx, qword [rbp - 0x38]
cmp rax, 0x1000
jb 0x18001ab6c
test cl, 0x1f
je 0x18001ab3f
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ab4e
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ab5d
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001ab69
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], rbx
mov byte [rbp - 0x38], 0
mov rbx, qword [rbp - 0x10]
test rbx, rbx
je 0x18001ab9f
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x68]
call fcn.18000e170
mov rcx, qword [rbp - 0x68]
call fcn.180033ed0
nop
mov r8, qword [rsp + 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x68]
call fcn.18000e170
mov rcx, qword [rsp + 0x68]
call fcn.180033ed0
jmp 0x18001af1b
cmp dword [rsp + 0x50], 0xc8
jne 0x18001aeae
mov eax, dword [rbp - 8]
test eax, eax
je 0x18001aeae
mov dword [r12], 4
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x20], rcx
mov byte [rbp + 0x10], 0
mov r8d, eax
mov rbx, qword [rbp - 0x10]
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.1800020b0
nop
lea rdx, [rbp + 0x10]
lea rcx, [rsp + 0x78]
call fcn.18001d170
nop
mov rax, qword [rbp + 0x28]
cmp rax, 0x10
jb 0x18001ac92
inc rax
mov rcx, qword [rbp + 0x10]
cmp rax, 0x1000
jb 0x18001ac8d
test cl, 0x1f
je 0x18001ac60
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ac6f
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ac7e
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001ac8a
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
xor r15d, r15d
mov qword [rbp + 0x20], r15
mov byte [rbp + 0x10], r15b
lea r8, [rsp + 0x78]
mov rdx, r13
lea rcx, [rbp + 0x30]
call fcn.18000c2c0
nop
mov rdx, rax
lea rcx, [r12 + 0x60]
call fcn.18000c4d0
lea r9, [rax + 0x20]
mov qword [rsp + 0x20], rax
lea rdx, [rbp]
lea rcx, [r12 + 0x60]
call fcn.18000c550
nop
lea rcx, [rbp + 0x50]
call fcn.180001e50
lea rcx, [rbp + 0x30]
call fcn.180001e50
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r14 + 0x10], r15
cmp qword [r14 + 0x18], 0x10
jb 0x18001ad06
mov rax, qword [r14]
jmp 0x18001ad09
mov rax, r14
mov byte [rax], 0
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.1800063c0
nop
mov rax, qword [rbp - 0x70]
cmp rax, 0x10
jb 0x18001ad71
inc rax
mov rcx, qword [rsp + 0x78]
cmp rax, 0x1000
jb 0x18001ad6c
test cl, 0x1f
je 0x18001ad3f
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ad4e
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ad5d
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001ad69
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x70], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x78], r15
mov byte [rsp + 0x78], 0
mov rax, qword [rbp - 0x40]
cmp rax, 0x10
jb 0x18001add8
inc rax
mov rcx, qword [rbp - 0x58]
cmp rax, 0x1000
jb 0x18001add3
test cl, 0x1f
je 0x18001ada6
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001adb5
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001adc4
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001add0
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x40], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x48], r15
mov byte [rbp - 0x58], 0
mov rax, qword [rbp - 0x20]
cmp rax, 0x10
jb 0x18001ae3e
inc rax
mov rcx, qword [rbp - 0x38]
cmp rax, 0x1000
jb 0x18001ae39
test cl, 0x1f
je 0x18001ae0c
call fcn.18003835c
int3
mov rax, qword [rcx - 8]
cmp rax, rcx
jb 0x18001ae1b
call fcn.18003835c
int3
sub rcx, rax
cmp rcx, 8
jae 0x18001ae2a
call fcn.18003835c
int3
cmp rcx, 0x27
jbe 0x18001ae36
call fcn.18003835c
int3
mov rcx, rax
call fcn.180033ed0
mov qword [rbp - 0x20], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x28], r15
mov byte [rbp - 0x38], 0
test rbx, rbx
je 0x18001ae68
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov rcx, rax
mov r8, rbx
xor edx, edx
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop
mov r8, qword [rbp - 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x18]
lea rcx, [rbp - 0x68]
call fcn.18000e170
mov rcx, qword [rbp - 0x68]
call fcn.180033ed0
nop
mov r8, qword [rsp + 0x68]
mov r9, r8
mov r8, qword [r8]
lea rdx, [rbp - 0x18]
lea rcx, [rsp + 0x68]
call fcn.18000e170
mov rcx, qword [rsp + 0x68]
call fcn.180033ed0
jmp 0x18001af1b
mov dword [r12], ecx
mov qword [r14 + 0x18], reloc.WS2_32.dll_ntohs
mov qword [r14 + 0x10], rcx
cmp qword [r14 + 0x18], 0x10
jb 0x18001aeca
mov rax, qword [r14]
jmp 0x18001aecd
mov rax, r14
mov byte [rax], 0
xor r8d, r8d
lea rdx, [0x180057690]
mov rcx, r14
call fcn.1800020b0
nop
xor r8d, r8d
mov dl, 1
lea rcx, [rbp - 0x58]
call fcn.180002000
nop
lea rcx, [rbp - 0x38]
call fcn.180001e50
nop
lea rcx, [rbp - 0x10]
call fcn.18000a630
nop
lea rcx, [rbp - 0x68]
call fcn.18000d2d0
nop
lea rcx, [rsp + 0x68]
call fcn.18000d2d0
nop
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rax, r14
mov rcx, qword [rbp + 0x90]
xor rcx, rsp
call fcn.180033e70
mov rbx, qword [rsp + 0x1f8]
add rsp, 0x1a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret