Function at 0x18010a0c0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x250]
sub rsp, 0x350
mov rax, qword [0x1802b7c00]
xor rax, rsp
mov qword [rbp + 0x240], rax
mov qword [rbp - 0x78], r8
mov dword [rbp - 0x48], edx
mov rdi, rcx
mov dword [rsp + 0x34], 0
mov r10, qword [rcx + 0x48]
mov r8, qword [rcx + 0x40]
mov rax, r10
sub rax, r8
cmp rax, 2
jb 0x18010b142
mov rdx, r8
mov r8d, 4
lea r15d, [r8 + 4]
movzx r13d, byte [rdx]
movzx r12d, r13b
shr r12b, 7
mov byte [rsp + 0x30], r12b
mov byte [rsp + 0x64], r12b
movzx esi, r13b
shr sil, 6
and sil, 1
mov byte [rsp + 0x65], sil
movzx r11d, r13b
shr r11b, 5
and r11b, 1
mov byte [rsp + 0x66], r11b
movzx ebx, r13b
shr bl, 4
and bl, 1
mov byte [rsp + 0x67], bl
and r13d, 0xf
mov dword [rsp + 0x6c], r13d
movzx r9d, byte [rdx + 1]
movzx eax, r9b
shr al, 7
movzx r14d, al
mov byte [rsp + 0x68], r14b
and r9d, 0x7f
mov dword [rsp + 0x70], r9d
xor ecx, ecx
cmp r9d, 0x7f
cmove ecx, r15d
mov eax, 2
cmp r9d, 0x7e
cmove eax, r8d
add ecx, eax
lea eax, [rcx + r14*4]
mov dword [rsp + 0x60], eax
mov rcx, r10
sub rcx, rdx
mov r8, rdx
cmp rcx, rax
jb 0x18010b142
test sil, sil
je 0x18010a202
movzx eax, byte [rdi + 0x20d]
nop
test al, al
je 0x18010b22d
mov r9d, dword [rsp + 0x70]
mov r13d, dword [rsp + 0x6c]
movzx r14d, byte [rsp + 0x68]
movzx ebx, byte [rsp + 0x67]
movzx r11d, byte [rsp + 0x66]
movzx r12d, byte [rsp + 0x64]
mov byte [rsp + 0x30], r12b
test r11b, r11b
jne 0x18010b22d
test bl, bl
jne 0x18010b22d
cmp r9d, 0x7e
jge 0x18010a231
movsxd r15, r9d
mov eax, 2
lea ecx, [rax + 1]
lea r8d, [rax + 2]
lea r9d, [rax + 3]
jmp 0x18010a2c0
jne 0x18010a255
movzx r15d, byte [rdx + 2]
shl r15, 8
movzx eax, byte [rdx + 3]
or r15, rax
mov eax, 4
lea ecx, [rax + 1]
lea r8d, [rax + 2]
lea r9d, [rax + 3]
jmp 0x18010a2c0
cmp r9d, 0x7f
jne 0x18010b27c
movzx r15d, byte [rdx + 2]
shl r15, 8
movzx eax, byte [rdx + 3]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 4]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 5]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 6]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 7]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 8]
or r15, rax
shl r15, 8
movzx eax, byte [rdx + 9]
or r15, rax
lea eax, [r9 - 0x75]
lea ecx, [rax + 1]
lea r8d, [r9 - 0x73]
lea r9d, [rax + 3]
mov qword [rsp + 0x78], r15
test r14b, r14b
je 0x18010a2ea
movzx eax, byte [rdx + rax]
mov byte [rbp - 0x80], al
movzx eax, byte [rcx + rdx]
mov byte [rbp - 0x7f], al
movzx eax, byte [r8 + rdx]
mov byte [rbp - 0x7e], al
movzx eax, byte [rdx + r9]
mov byte [rbp - 0x7d], al
jmp 0x18010a2f1
mov dword [rbp - 0x80], 0
movabs rdx, 0x8000000000000000
cmp r15, rdx
ja 0x18010b27c
mov rcx, qword [rdi + 0x48]
sub rcx, qword [rdi + 0x40]
mov ebx, dword [rsp + 0x60]
lea rax, [rbx + r15]
cmp rcx, rax
jb 0x18010b27c
test r12b, r12b
jne 0x18010a32f
lea eax, [r13 - 8]
cmp eax, 2
jbe 0x18010b17e
test r14b, r14b
je 0x18010a367
xor r8d, r8d
test r15, r15
je 0x18010a367
nop dword [rax]
lea rdx, [rbx + r8]
add rdx, qword [rdi + 0x40]
mov rax, r8
and eax, 3
movzx eax, byte [rbp + rax - 0x80]
xor byte [rdx], al
inc r8
cmp r8, r15
jne 0x18010a340
movabs rdx, 0x8000000000000000
mov r12, qword [rdi + 0x40]
add r12, rbx
lea r14, [r12 + r15]
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
cmp r12, r14
jne 0x18010a3a7
xor r12d, r12d
mov r8d, r12d
mov qword [rbp + 0x1b0], r12
mov r11d, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x1b8], r11
mov byte [rbp + 0x1a0], r8b
jmp 0x18010a4be
sub r14, r12
mov qword [rbp + 0x1b0], 0
mov qword [rbp + 0x1b8], reloc.WS2_32.dll_ntohs
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x18010b2a6
mov esi, reloc.WS2_32.dll_ntohs
cmp r14, rsi
jbe 0x18010a479
mov rsi, r14
or rsi, 0xf
cmp rsi, rax
jbe 0x18010a3f6
mov rsi, rax
lea rax, [rdx + 0x27]
jmp 0x18010a41d
cmp rsi, 0x16
mov eax, socket
cmovb rsi, rax
lea rcx, [rsi + 1]
cmp rcx, 0x1000
jb 0x18010a44d
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18010b2ac
mov rcx, rax
call fcn.1801fc700
mov rcx, rax
test rax, rax
je 0x18010b226
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1b8], rsi
jmp 0x18010a480
test rcx, rcx
je 0x18010a467
call fcn.1801fc700
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1b8], rsi
jmp 0x18010a480
xor eax, eax
mov qword [rbp + 0x1a0], rax
mov qword [rbp + 0x1b8], rsi
jmp 0x18010a480
mov rax, qword [rbp + 0x1a0]
lea rbx, [rbp + 0x1a0]
cmp rsi, 0xf
cmova rbx, rax
mov r8, r14
mov rdx, r12
mov rcx, rbx
call sub.VCRUNTIME140.dll_memmove
mov qword [rbp + 0x1b0], r14
mov byte [rbx + r14], 0
mov r11, qword [rbp + 0x1b8]
mov r8, qword [rbp + 0x1b0]
mov ebx, dword [rsp + 0x60]
xor r12d, r12d
lea eax, [r13 - 1]
cmp eax, 1
jbe 0x18010ac56
test r13d, r13d
je 0x18010acc2
cmp r13d, 9
jne 0x18010a59b
cmp r8, 0x7d
ja 0x18010b1a1
movzx eax, byte [rdi + 0x360]
nop
test al, al
je 0x18010a54a
mov qword [rbp + 0x178], r12
lea rax, [rbp + 0x1a0]
cmp qword [rbp + 0x1b8], 0xf
cmova rax, qword [rbp + 0x1a0]
mov qword [rbp - 8], rax
mov rax, qword [rbp + 0x1b0]
mov qword [rbp], rax
lea rax, [rbp + 0x140]
mov qword [rsp + 0x28], rax
mov byte [rsp + 0x20], 0
lea r9, [rbp - 8]
lea r8d, [r13 + 1]
lea rdx, [rbp + 0x120]
mov rcx, rdi
call fcn.18010bb30
nop
mov dword [rbp - 0x70], 2
mov byte [rsp + 0x38], 0
mov rax, qword [rbp + 0x1b0]
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x18010b2b2
mov rax, qword [rcx]
lea rdx, [rbp - 0x70]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x38]
lea r8, [rbp - 0x10]
lea rdx, [rbp + 0x1a0]
call qword [rax + reloc.WS2_32.dll_recv]
mov r15, qword [rsp + 0x78]
jmp 0x18010b0b9
cmp r13d, 0xa
jne 0x18010a5fd
mov eax, 1
xchg byte [rdi + 0x368], al
mov dword [rbp - 0x68], 3
mov byte [rsp + 0x40], 0
mov rax, qword [rbp + 0x1b0]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x18010b2b8
mov rax, qword [rcx]
lea rdx, [rbp - 0x68]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x40]
lea r8, [rbp - 0x40]
lea rdx, [rbp + 0x1a0]
call qword [rax + reloc.WS2_32.dll_recv]
mov r15, qword [rsp + 0x78]
jmp 0x18010b0b9
cmp r13d, 8
jne 0x18010ac2e
xorps xmm0, xmm0
movups xmmword [rbp + 0x180], xmm0
mov r10, r12
mov qword [rbp + 0x190], r12
mov r9d, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x198], r9
mov byte [rbp + 0x180], 0
cmp r15, 2
jb 0x18010a9e4
mov rcx, qword [rdi + 0x40]
mov eax, dword [rsp + 0x60]
inc eax
movzx esi, byte [rbx + rcx]
shl si, 8
movzx eax, byte [rax + rcx]
or si, ax
cmp r15, 2
jbe 0x18010a71d
movups xmmword [rbp + 0x200], xmm0
mov qword [rbp + 0x210], r12
mov qword [rbp + 0x218], r12
cmp r8, 2
jb 0x18010b2be
lea rax, [r8 - 2]
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp + 0x1a0]
cmp r11, r9
cmova rdx, qword [rbp + 0x1a0]
add rdx, 2
lea rcx, [rbp + 0x200]
call fcn.180006530
or dword [rsp + 0x34], 4
mov rdx, qword [rbp + 0x198]
cmp rdx, 0xf
jbe 0x18010a6ee
inc rdx
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a6e9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b203
call fcn.1801fcb84
movups xmm0, xmmword [rbp + 0x200]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [rbp + 0x210]
movups xmmword [rbp + 0x190], xmm1
movdqa xmm0, xmm1
psrldq xmm0, 8
movq r9, xmm0
movq r10, xmm1
mov r8d, r12d
lea rax, [rbp + 0x180]
cmp r9, 0xf
seta dl
cmova rax, qword [rbp + 0x180]
lea r9, [rax + r10]
lea rax, [rbp + 0x180]
test dl, dl
cmovne rax, qword [rbp + 0x180]
lea rbx, [0x180000000]
cmp rax, r9
je 0x18010a78b
nop word [rax + rax]
movzx ecx, byte [rax]
movzx edx, byte [rcx + rbx + 0x20dfb0]
lea ecx, [r8 + 0x10]
shl ecx, 4
add ecx, edx
movzx r8d, byte [rcx + rbx + 0x20dfb0]
cmp r8d, 1
je 0x18010a790
inc rax
cmp rax, r9
jne 0x18010a760
test r8d, r8d
je 0x18010a7c1
movzx esi, word [0x18020d968]
lea rdx, [0x1802bd860]
cmp qword [0x1802bd878], 0xf
cmova rdx, qword [0x1802bd860]
mov r8, qword [0x1802bd870]
lea rcx, [rbp + 0x180]
call fcn.1800492a0
mov eax, 0x3e8
cmp si, ax
jb 0x18010a7f8
mov eax, 0x3ec
cmp si, ax
je 0x18010a7f8
mov eax, 0x3ee
cmp si, ax
je 0x18010a7f8
movzx eax, si
mov ecx, 0x3f6
sub ax, cx
mov ecx, 0x7c1
cmp ax, cx
ja 0x18010aa15
lea rax, [rbx + 0x27dd10]
mov qword [rbp + 0x20], rax
lea rax, [0x18027d828]
mov qword [rbp + 0x30], rax
lea rcx, [rbp + 0xb8]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::constructor_void____ptr64]
nop
or dword [rsp + 0x34], 2
xor r8d, r8d
lea rdx, [rbp + 0x38]
lea rcx, [rbp + 0x20]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::constructor_class_std::basic_streambuf_char__struct_std::char_traits_char______ptr64____ptr64]
nop
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea r14, vtable.std::basic_stringstream_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + rcx + 0x20], r14
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x1c], edx
lea rcx, [rbp + 0x38]
call qword [sym.imp.MSVCP140.dll_protected:_void___cdecl_std::basic_streambuf_char__struct_std::char_traits_char__::constructor_void____ptr64]
lea rax, vtable.std::basic_stringbuf_char__struct_std::char_traits_char___class_std::allocator_char__.0
mov qword [rbp + 0x38], rax
mov qword [rbp + 0xa0], r12
mov dword [rbp + 0xa8], r12d
lea rdx, [0x1802bd880]
cmp qword [0x1802bd898], 0xf
cmova rdx, qword [0x1802bd880]
mov r8, qword [0x1802bd890]
lea rcx, [rbp + 0x30]
call fcn.18004fbe0
lea rdx, [0x18026f678]
mov rcx, rax
call fcn.180049e00
mov rcx, rax
movzx edx, si
call qword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______ptr64___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::operator___unsigned_short_int____ptr64]
lea rdx, [rbp + 0x220]
lea rcx, [rbp + 0x20]
call fcn.1800fe040
mov rbx, rax
lea rax, [rbp + 0x180]
cmp rax, rbx
je 0x18010a95b
mov rdx, qword [rbp + 0x198]
cmp rdx, 0xf
jbe 0x18010a91e
inc rdx
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a919
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b20a
call fcn.1801fcb84
mov qword [rbp + 0x190], r12
mov qword [rbp + 0x198], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x180], 0
movups xmm0, xmmword [rbx]
movups xmmword [rbp + 0x180], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rbp + 0x190], xmm1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rdx, qword [rbp + 0x238]
cmp rdx, 0xf
jbe 0x18010a99c
inc rdx
mov rcx, qword [rbp + 0x220]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010a997
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b20a
call fcn.1801fcb84
movzx esi, word [0x18020d960]
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
mov qword [rbp + rcx + 0x20], r14
mov rax, qword [rbp + 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0x98]
mov dword [rbp + rcx + 0x1c], edx
lea rcx, [rbp + 0x38]
call fcn.180047b00
lea rcx, [rbp + 0x40]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_iostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0xb8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
jmp 0x18010aa15
movzx esi, word [0x18020d964]
lea rdx, [0x1802b7080]
cmp qword [reloc.WS2_32.dll_ntohs], 0xf
cmova rdx, qword [0x1802b7080]
mov r8, qword [0x1802b7090]
lea rcx, [rbp + 0x180]
call fcn.1800492a0
mov eax, dword [rdi + 0x130]
nop
test eax, eax
je 0x18010aadf
mov eax, dword [rdi + 0x130]
nop
test eax, eax
je 0x18010aa38
mov eax, r12d
xchg dword [rdi + 0x130], eax
lea r8, [rbp + 0x180]
movzx edx, si
mov rcx, rdi
call fcn.18010b920
mov rdx, qword [reloc.WS2_32.dll_bind]
mov rcx, rdi
call fcn.18010c740
mov r14, qword [rdi + 0x48]
sub r14, qword [rdi + 0x40]
mov rcx, rdi
call fcn.180108a50
lea rbx, [rdi + 0x198]
mov qword [rbp + 0x18], rbx
mov rcx, rbx
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x18010b2d3
lea rax, [rbx + 0x4c]
mov ecx, dword [rax]
cmp ecx, 0x7fffffff
je 0x18010b2c4
lea rcx, [rdi + 0x178]
lea rax, [rbp + 0x180]
cmp rcx, rax
je 0x18010aacd
lea rdx, [rbp + 0x180]
cmp qword [rbp + 0x198], 0xf
cmova rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x190]
call fcn.1800492a0
nop
mov rcx, rbx
call sub.MSVCP140.dll__Mtx_unlock
mov eax, 1
jmp 0x18010abb9
movzx eax, word [rdi + 0x1e8]
nop
cmp ax, si
jne 0x18010abe3
mov rcx, rdi
call fcn.18010b5a0
lea rdx, [rbp + 0x180]
cmp qword [rbp + 0x198], 0xf
cmova rdx, qword [rbp + 0x180]
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x18010ab1c
mov rcx, qword [rax]
mov r8, qword [rax + 0x10]
cmp r8, qword [rbp + 0x190]
jne 0x18010abe3
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x18010abe3
mov r14, qword [rdi + 0x48]
sub r14, qword [rdi + 0x40]
mov rcx, rdi
call fcn.180108a50
lea rbx, [rdi + 0x198]
mov qword [rbp + 8], rbx
mov rcx, rbx
call sub.MSVCP140.dll__Mtx_lock
test eax, eax
jne 0x18010b2d3
lea rax, [rbx + 0x4c]
mov ecx, dword [rax]
cmp ecx, 0x7fffffff
je 0x18010b2c4
lea rcx, [rdi + 0x178]
lea rax, [rbp + 0x180]
cmp rcx, rax
je 0x18010abae
lea rdx, [rbp + 0x180]
cmp qword [rbp + 0x198], 0xf
cmova rdx, qword [rbp + 0x180]
mov r8, qword [rbp + 0x190]
call fcn.1800492a0
nop
mov rcx, rbx
call sub.MSVCP140.dll__Mtx_unlock
mov eax, r12d
xchg word [rdi + 0x1e8], si
xchg qword [rdi + 0x1f0], r14
xchg byte [rdi + 0x1f8], al
mov edx, 1
mov rcx, rdi
call fcn.18010c5f0
mov eax, r12d
xchg byte [rdi + 0x300], al
mov rdx, qword [rbp + 0x198]
cmp rdx, 0xf
jbe 0x18010ac24
inc rdx
mov rcx, qword [rbp + 0x180]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010ac1f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b211
call fcn.1801fcb84
mov r15, qword [rsp + 0x78]
jmp 0x18010b0b9
mov r9, qword [rdi + 0x48]
sub r9, qword [rdi + 0x40]
mov byte [rsp + 0x20], 0
lea r8, [0x1802b7060]
movzx edx, word [0x18020d960]
mov rcx, rdi
call fcn.180108930
jmp 0x18010b0b9
test r13d, r13d
je 0x18010acc2
mov eax, r12d
cmp r13d, 1
setne al
mov dword [rdi + 0xd0], eax
movzx eax, byte [rdi + 0x20d]
nop
test al, al
je 0x18010ac82
cmp byte [rsp + 0x65], 0
je 0x18010ac82
mov al, 1
jmp 0x18010ac84
xor al, al
mov byte [rdi + 0xd4], al
lea rbx, [rdi + 0xc8]
cmp qword [rbx], 0
je 0x18010acb5
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1802bd7a0]
movzx edx, word [0x18020d960]
mov rcx, rdi
call fcn.180108930
mov r15, qword [rsp + 0x78]
movzx r14d, byte [rsp + 0x64]
jmp 0x18010acf3
lea rbx, [rdi + 0xc8]
cmp qword [rbx], 0
jne 0x18010aced
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1802bd7e0]
movzx edx, word [0x18020d960]
mov rcx, rdi
call fcn.180108930
movzx r14d, byte [rsp + 0x30]
test r14b, r14b
je 0x18010ad30
cmp qword [rbx], 0
jne 0x18010ad30
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x20], rax
movzx r9d, byte [rdi + 0xd4]
lea r8, [rbp + 0x1a0]
mov edx, dword [rdi + 0xd0]
mov rcx, rdi
call fcn.18010b300
mov byte [rdi + 0xd4], 0
jmp 0x18010b0b9
lea r13, [rdi + 0xc0]
mov rsi, qword [r13]
movabs rax, 0x555555555555555
cmp qword [r13 + 8], rax
je 0x18010b2f0
mov qword [rbp - 0x20], r13
mov qword [rbp - 0x18], r12
mov ecx, 0x30
call fcn.1801fc700
mov rbx, rax
mov qword [rbp - 0x18], rax
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x1a0]
call fcn.18002b330
nop
inc qword [r13 + 8]
mov rcx, qword [rsi + 8]
mov qword [rbx], rsi
mov qword [rbx + 8], rcx
mov qword [rbp - 0x18], r12
mov qword [rsi + 8], rbx
mov qword [rcx], rbx
test r14b, r14b
je 0x18010b014
mov rdx, r12
mov r8, qword [r13]
mov rax, qword [r8]
cmp rax, r8
je 0x18010adbf
nop dword [rax + rax]
add rdx, qword [rax + 0x20]
mov rcx, qword [rax]
mov rax, rcx
cmp rcx, r8
jne 0x18010adb0
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
mov rsi, r12
mov qword [rbp + 0x1d0], r12
mov ecx, reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x1d8], rcx
mov byte [rbp + 0x1c0], 0
or dword [rsp + 0x34], 1
cmp rdx, 0x10
jb 0x18010ae0e
xor r8d, r8d
lea rcx, [rbp + 0x1c0]
call fcn.1800fb0f0
mov qword [rbp + 0x1d0], r12
mov rcx, qword [rbp + 0x1d8]
mov r12, qword [r13]
mov rbx, qword [r12]
cmp rbx, r12
je 0x18010aea9
nop
lea r9, [rbx + 0x10]
cmp qword [rbx + 0x28], 0xf
jbe 0x18010ae2f
mov r9, qword [rbx + 0x10]
mov r14, qword [rbx + 0x20]
mov rax, rcx
sub rax, rsi
cmp r14, rax
ja 0x18010ae74
lea rax, [rsi + r14]
mov qword [rbp + 0x1d0], rax
lea rax, [rbp + 0x1c0]
cmp rcx, 0xf
cmova rax, qword [rbp + 0x1c0]
add rsi, rax
mov r8, r14
mov rdx, r9
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
mov byte [rsi + r14], 0
jmp 0x18010ae8b
mov qword [rsp + 0x20], r14
xor r8d, r8d
mov rdx, r14
lea rcx, [rbp + 0x1c0]
call fcn.1800faf60
mov rax, qword [rbx]
mov rbx, rax
mov rsi, qword [rbp + 0x1d0]
cmp rax, r12
je 0x18010aea9
mov rcx, qword [rbp + 0x1d8]
jmp 0x18010ae20
mov ebx, dword [rdi + 0xd0]
cmp byte [rdi + 0xd4], 0
je 0x18010af2f
cmp ebx, 4
je 0x18010af63
lea r8, [rdi + 0x210]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [rdi + 0x200]
call fcn.18010d350
movzx r14d, al
test ebx, ebx
jne 0x18010aef3
lea rcx, [rdi + 0x210]
call fcn.180105de0
test al, al
je 0x18010af43
mov dword [rbp - 0x60], ebx
xor r14b, 1
mov byte [rsp + 0x48], r14b
mov qword [rbp - 0x38], rsi
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x18010b2de
lea rdx, [rbp - 0x60]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x38]
lea rdx, [rdi + 0x210]
jmp 0x18010af99
test ebx, ebx
jne 0x18010af63
lea rcx, [rbp + 0x1c0]
call fcn.180105de0
test al, al
jne 0x18010af63
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1802bd860]
movzx edx, word [0x18020d968]
mov rcx, rdi
call fcn.180108930
jmp 0x18010af9f
mov dword [rbp - 0x58], ebx
mov byte [rsp + 0x50], 0
mov qword [rbp - 0x30], rsi
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x18010b2e4
lea rdx, [rbp - 0x58]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x50]
lea r8, [rbp - 0x30]
lea rdx, [rbp + 0x1c0]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_recv]
and dword [rsp + 0x34], 0xfffffffe
mov rdx, qword [rbp + 0x1d8]
cmp rdx, 0xf
jbe 0x18010afe5
inc rdx
mov rcx, qword [rbp + 0x1c0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010afe0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b218
call fcn.1801fcb84
mov rdx, qword [r13]
mov rcx, r13
call fcn.18004c2d0
mov rax, qword [r13]
mov qword [rax], rax
mov rax, qword [r13]
mov qword [rax + 8], rax
mov qword [r13 + 8], 0
mov byte [rdi + 0xd4], 0
jmp 0x18010b0b9
xorps xmm0, xmm0
movups xmmword [rbp + 0x1e0], xmm0
mov qword [rbp + 0x1f0], r12
mov qword [rbp + 0x1f8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0x1e0], 0
mov dword [rbp - 0x50], 4
mov byte [rsp + 0x58], 0
mov qword [rbp - 0x28], r12
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax + 0x38]
test rcx, rcx
je 0x18010b2ea
mov rax, qword [rcx]
lea rdx, [rbp - 0x50]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x58]
lea r8, [rbp - 0x28]
lea rdx, [rbp + 0x1e0]
call qword [rax + reloc.WS2_32.dll_recv]
nop
mov rdx, qword [rbp + 0x1f8]
cmp rdx, 0xf
jbe 0x18010b0b9
inc rdx
mov rcx, qword [rbp + 0x1e0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010b0b4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b21f
call fcn.1801fcb84
mov edx, dword [rsp + 0x60]
mov rsi, qword [rdi + 0x40]
add rdx, rsi
add rdx, r15
cmp rsi, rdx
je 0x18010b0e6
mov rbx, qword [rdi + 0x48]
sub rbx, rdx
mov r8, rbx
mov rcx, rsi
call sub.VCRUNTIME140.dll_memmove
lea rax, [rbx + rsi]
mov qword [rdi + 0x48], rax
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 0xf
jbe 0x18010b127
inc rdx
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010b122
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b226
call fcn.1801fcb84
mov r10, qword [rdi + 0x48]
mov r8, qword [rdi + 0x40]
mov rdx, r8
mov rax, r10
sub rax, r8
cmp rax, 2
jae 0x18010a11d
cmp dword [rbp - 0x48], 0
je 0x18010b27c
cmp r8, r10
je 0x18010b155
mov qword [rdi + 0x48], r8
mov eax, dword [rdi + 0x130]
nop
test eax, eax
jne 0x18010b252
mov rcx, rdi
call fcn.180108a50
mov edx, 1
mov rcx, rdi
call fcn.18010c5f0
jmp 0x18010b27c
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1802bd840]
movzx edx, word [0x18020d960]
mov rcx, rdi
call fcn.180108930
jmp 0x18010b27c
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1802bd7c0]
movzx edx, word [0x18020d960]
mov rcx, rdi
call fcn.180108930
nop
mov rdx, qword [rbp + 0x1b8]
cmp rdx, 0xf
jbe 0x18010b27c
inc rdx
mov rcx, qword [rbp + 0x1a0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18010b1fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18010b226
call fcn.1801fcb84
jmp 0x18010b27c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov r9, qword [rdi + 0x48]
sub r9, qword [rdi + 0x40]
mov byte [rsp + 0x20], 0
lea r8, [0x1802bd800]
movzx edx, word [0x18020d960]
mov rcx, rdi
call fcn.180108930
jmp 0x18010b27c
mov eax, dword [rdi + 0x130]
nop
cmp eax, 1
je 0x18010b27c
mov byte [rsp + 0x20], 0
xor r9d, r9d
lea r8, [0x1802bd820]
movzx edx, word [0x18020d95c]
mov rcx, rdi
call fcn.180108ac0
mov rcx, qword [rbp + 0x240]
xor rcx, rsp
call fcn.1801fc6e0
mov rbx, qword [rsp + 0x398]
add rsp, 0x350
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1800036f0
int3
call fcn.180003650
nop
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
call fcn.180049540
int3
dec ecx
mov dword [rax], ecx
mov ecx, 6
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
int3
mov ecx, 5
call sub.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_
nop
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
int3
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
call sub.MSVCP140.dll_void___cdecl_std::_Xbad_function_call_void_
nop
lea rcx, str.list_too_long
call sub.MSVCP140.dll_void___cdecl_std::_Xlength_error_char_const____ptr64_
int3