Function at 0x18001af97
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
test cx, cx
sar ah, cl
shl al, cl
push rbp
rol eax, 0xa7
sub r10b, bl
rcl r10w, 0x9c
push rsi
push rdi
push r12
sbb rbp, 0x7fbd3faa
neg di
inc rsi
push r13
or r10b, sil
xadd di, di
push r14
cdqe
bsr si, r14w
push r15
movsx esi, bp
or r12b, sil
stc
lea rbp, [rsp - 0x30]
adc di, r13w
xor sil, r15b
xchg r12b, dil
sub rsp, 0x130
cmc
mov rax, qword [0x180015010]
movsx di, dl
btc di, cx
sar r12b, 0x3c
xor rax, rsp
bt r14w, si
stc
mov qword [rbp + 0x20], rax
sal r10, cl
mov r12, r9
rcr r14b, 0xac
movsxd rsi, edx
add r14d, 0x58142a0e
mov qword [rsp + 0x30], r9
shr dil, 0x90
and ax, r15w
mov rdi, r8
sbb al, r8b
sbb r14w, 0xb71b
mov r14b, 0xa6
mov r10d, edx
cdqe
xadd r14b, al
rcl r9, 0x28
mov rsi, rcx
shrd eax, ecx, 0x96
sbb eax, r12d
sub r13d, r13d
btr r9, r13
mov rax, qword [rcx]
mov r14, qword [rax + 0x30]
lea r9, [rbp - 0x1b]
test edx, edx
jns 0x18001b0e7
neg r10d
dec r9
bt eax, ebx
movsxd rax, edi
mov eax, 0xcccccccd
setne ch
movzx rcx, r8w
sar rcx, 0xbd
mul r10d
inc al
shr edx, 3
shl cl, 0xc
movzx eax, dl
shl al, 2
cmovle cx, si
lea ecx, [rax + rdx]
add cl, cl
stc
sub r10b, cl
clc
cmp ecx, edx
add r10b, 0x30
cmc
stc
mov byte [r9], r10b
bt r10w, r14w
test r8b, r11b
mov r10d, edx
test edx, edx
jmp 0x18001b0cb
jne 0x18001b076
dec r9
jmp 0x18001b0d9
mov byte [r9], 0x2d
jmp 0x18001b0e2
jmp 0x18001b14e
dec r9
add ah, 0x91
cbw
adc al, 0xaf
mov eax, 0xcccccccd
cdq
mul r10d
or eax, r14d
movsxd rcx, r11d
jmp 0x18001b105
shr edx, 3
movzx eax, dl
stc
sub cl, r8b
bsf cx, r10w
shl al, 2
stc
ror cx, 0x26
lea ecx, [rax + rdx]
add cl, cl
sub r10b, cl
add r10b, 0x30
cmc
mov byte [r9], r10b
bts r10, r9
cmp r10b, sil
bt r10w, 7
mov r10d, edx
test r8b, 1
cmc
test edx, edx
jmp 0x18001b148
jne 0x18001b0e7
lea r8, [rbp - 0x1b]
movsx dx, ch
mov rdx, r9
setns ch
lea rcx, [rsp + 0x78]
call fcn.180002590
nop
cdqe
movabs rbx, 0xf684ba84ace4d797
mov qword [rbp + 0x10], rbx
mov r15b, 4
cdqe
cwde
movabs r15, 0x2fa4fe958e1eb80
cdqe
mov qword [rbp + 0x18], r15
movsxd rax, r8d
not rcx
movzx ecx, bp
movabs rax, 0xf684ba84ace4d7ad
movsx rcx, r11w
mov qword [rbp - 0x40], rax
movsx cx, r13b
mov qword [rbp - 0x38], r15
bswap rcx
movaps xmm0, xmmword [rbp - 0x40]
cmovnp cx, r13w
jmp 0x18001b1c2
xorps xmm0, xmmword [rbp + 0x10]
jmp 0x18001b1cf
movdqa xmmword [rsp + 0x20], xmm0
sete cl
movsx ecx, sp
lea rcx, [rbp - 0x18]
jmp 0x18001b1e4
call fcn.18001dbd1
nop
cdq
mov qword [rbp + 0x10], rbx
jmp 0x18001b1f6
mov qword [rbp + 0x18], r15
cmovbe rcx, r14
movabs rcx, 0xf68480b6c88da0ff
movzx r8, r9w
jmp 0x18001b211
mov qword [rbp - 0x40], rcx
jmp 0x18001b21f
mov qword [rbp - 0x38], r15
jmp 0x18001b22b
movaps xmm0, xmmword [rbp - 0x40]
not r8w
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rbp - 0x40], xmm0
xchg r8b, dl
movzx r8d, bp
cwd
mov r8, rax
movsx edx, r9w
cwd
mov ch, 0xa5
lea rdx, [rbp - 0x40]
cmovo cx, r8w
lea rcx, [rsp + 0x38]
jmp 0x18001b264
call fcn.1800021d0
nop
movsx rcx, bp
movzx bx, r8b
lea rcx, [rsp + 0x20]
mov rbx, 0xffffffffffffffff
movsx r8, bp
inc r8
not r8b
mov r8, rbx
jmp 0x18001b291
nop word [rax + rax]
inc r8
clc
cmp ch, bh
cmp byte [rcx + r8], 0
jne 0x18001b297
lea rdx, [rsp + 0x20]
movsx rcx, cx
xchg cl, cl
movzx cx, r14b
mov rcx, rax
jmp 0x18001b2c0
call fcn.180001e50
movups xmm0, xmmword [rax]
not cx
cmovae cx, cx
movups xmmword [rsp + 0x58], xmm0
movzx rcx, r15w
movups xmm1, xmmword [rax + 0x10]
movsxd r9, ebx
movups xmmword [rsp + 0x68], xmm1
xchg r9b, r8b
mov qword [rax + 0x10], r13
movsx r8d, r14w
movsxd rcx, r12d
xchg r9b, r8b
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
not ch
mov ch, 0xb8
lea r9, [rsp + 0x78]
lea r8, [rsp + 0x58]
movsx rcx, r9w
movsxd rcx, r12d
movzx rcx, sp
lea rcx, [rbp - 0x68]
jmp 0x18001b323
call fcn.180006720
lea rdx, [rbp - 0x68]
movsx rcx, sp
setg ch
movsxd rcx, r15d
mov rcx, r14
jmp 0x18001b33e
call fcn.180005660
nop
btc rdx, r15
bts dx, si
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jmp 0x18001b35a
jb 0x18001b3d5
inc rdx
shld rax, r14, 0x99
inc rax
mov rcx, qword [rsp + 0x58]
shr al, cl
mov rax, rcx
cmp r9w, 0x938
cmp rdx, 0x1000
jmp 0x18001b387
jb 0x18001b3cf
add rdx, 0x27
mov rcx, qword [rcx - 8]
cmp rsi, 0x78974897
test r9b, 0x93
test r11b, r12b
sub rax, rcx
jmp 0x18001b3ac
add rax, 0xfffffffffffffff8
test sp, ax
clc
cmp rax, 0x1f
jmp 0x18001b3bd
jbe 0x18001b3cf
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18000f46c
nop
mov rdx, qword [rsp + 0x50]
cmp rdx, 0x10
jmp 0x18001b3e3
jb 0x18001b441
inc rdx
mov rcx, qword [rsp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jmp 0x18001b400
jb 0x18001b43c
add rdx, 0x27
mov rcx, qword [rcx - 8]
jmp 0x18001b413
sub rax, rcx
test r10b, 0x13
clc
add rax, 0xfffffffffffffff8
cmp al, 0x28
cmp rax, 0x1f
jmp 0x18001b42a
jbe 0x18001b43c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18000f46c
movdqa xmm0, xmmword [0x180011860]
movdqu xmmword [rsp + 0x48], xmm0
inc dl
bt dx, cx
mov byte [rsp + 0x38], 0
xchg dx, dx
setb dl
bts rdx, r8
mov rdx, qword [rbp]
jmp 0x18001b46d
cmp rdx, 0x10
jmp 0x18001b476
jb 0x18001b4d2
inc rdx
bts eax, ebx
cdqe
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18001b4cd
add rdx, 0x27
jmp 0x18001b4a1
mov rcx, qword [rcx - 8]
sub rax, rcx
cmc
add rax, 0xfffffffffffffff8
cmp r9d, edi
cmc
stc
cmp rax, 0x1f
jmp 0x18001b4bb
jbe 0x18001b4cd
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18000f46c
movdqa xmm0, xmmword [0x180011860]
cmovbe dx, r8w
rcr edx, cl
movdqu xmmword [rbp - 8], xmm0
mov byte [rbp - 0x18], 0
mov rdx, qword [rbp - 0x70]
cmc
test r15b, r9b
cmp rdx, 0x10
jmp 0x18001b4fb
jb 0x18001b55c
inc rdx
sbb rax, r10
mov rcx, qword [rsp + 0x78]
not al
mov rax, rcx
cmp rdx, 0x1000
jmp 0x18001b51d
jb 0x18001b557
add rdx, 0x27
clc
cmc
mov rcx, qword [rcx - 8]
stc
sub rax, rcx
add rax, 0xfffffffffffffff8
test r10d, edx
test dil, 0x3d
cmp rax, 0x1f
jmp 0x18001b545
jbe 0x18001b557
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.18000f46c
mov ecx, 0x1388
jmp 0x18001b566
call qword [sym.imp.KERNEL32.dll_Sleep]
cmp word [rsi + 8], 3
jmp 0x18001b576
jne 0x18001bc7d
xorps xmm0, xmm0
xor eax, eax
inc r14w
movsx r8w, r14b
movups xmmword [rbp - 0x18], xmm0
movsx r8, r15w
mov qword [rbp - 8], rax
movsx r8, di
lea rax, [rsp + 0x38]
mov qword [rbp - 0x40], rax
cbw
mov r8b, 0xb
movabs r14, 0xf684ba84ace4d797
bswap ax
mov qword [rbp + 0x10], r14
movsx rax, r8w
mov qword [rbp + 0x18], r15
movabs rax, 0xf684ba84ace4d7eb
movsx r8, r9w
mov qword [rsp + 0x20], rax
movsxd rax, esi
mov al, r12b
mov qword [rsp + 0x28], r15
bswap r8w
movaps xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rbp + 0x10]
movzx r8w, spl
dec r8
xchg r8b, al
movdqa xmmword [rsp + 0x20], xmm0
setge r8b
jmp 0x18001b606
xorps xmm0, xmm0
cwde
movups xmmword [rsp + 0x38], xmm0
inc ah
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x50], r13
lea rax, [rsp + 0x20]
xchg r8b, r8b
movsx r8d, r8w
mov r8, rbx
jmp 0x18001b62f
inc r8
jmp 0x18001b638
cmp byte [rax + r8], 0
jmp 0x18001b642
jne 0x18001b62f
lea rdx, [rsp + 0x20]
movsx rcx, cx
movsx cx, r9b
jmp 0x18001b65b
lea rcx, [rsp + 0x38]
call fcn.180002490
nop
xchg r15b, dl
jmp 0x18001b66e
lea r15, [rsi + 0x10]
movsxd rcx, r13d
mov rdx, r15
lea rcx, [rbp - 0x68]
jmp 0x18001b681
call fcn.180001f30
nop
movsx r8w, r12b
movzx r8d, r10w
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rbp - 0x18]
jmp 0x18001b6a1
call fcn.18000e1a0
nop
xorps xmm0, xmm0
xor eax, eax
setnp ch
movzx rcx, sp
not ecx
movups xmmword [rbp - 0x30], xmm0
mov ecx, edi
mov qword [rbp - 0x20], rax
cwde
movsx rax, si
not al
lea rax, [rsp + 0x58]
movsx cx, r14b
movsx ecx, r12w
mov qword [rbp - 0x40], rax
setno al
movzx ax, cl
movsxd rax, edi
mov qword [rbp + 0x10], r14
movabs rax, 0x2fa4fe958e1eb80
jmp 0x18001b6f9
mov qword [rbp + 0x18], rax
movzx rcx, sp
mov ecx, 0x4f020daa
mov cl, r8b
movabs rcx, 0xf684ba84ace4d7ad
mov qword [rsp + 0x20], rcx
jmp 0x18001b71d
mov qword [rsp + 0x28], rax
movzx eax, r8w
movaps xmm0, xmmword [rsp + 0x20]
xorps xmm0, xmmword [rbp + 0x10]
movdqa xmmword [rsp + 0x20], xmm0
xorps xmm0, xmm0
inc ax
mov ah, 0xad
cwde
movups xmmword [rsp + 0x58], xmm0
movsx ax, r9b
mov qword [rsp + 0x68], r13
movsx ax, r9b
mov qword [rsp + 0x70], r13
movsx ax, ah
lea rax, [rsp + 0x20]
jmp 0x18001b766
inc rbx
cmp r11b, r13b
cmp sil, 0x82
test r9w, 0xd894
cmp byte [rax + rbx], 0
jmp 0x18001b77f
jne 0x18001b766
mov r8, rbx
movzx cx, bl
jmp 0x18001b791
lea rdx, [rsp + 0x20]
bswap rcx
cmovg rcx, r9
lea rcx, [rsp + 0x58]
jmp 0x18001b7a7
call fcn.180002490
nop
mov rax, qword [rbp - 0x10]
sbb dl, r9b
mov rdx, qword [rbp - 0x18]
sub rax, rdx
sar rax, 5
test r11w, si
cmp rax, 1
jmp 0x18001b7cc
jbe 0x18001bd10
add rdx, 0x20
lea rcx, [rsp + 0x78]
jmp 0x18001b7e0
call fcn.180001f30
nop
lea r8, [rsp + 0x58]
mov rdx, rax
lea rcx, [rbp - 0x30]
call fcn.18000e1a0
nop
shrd bx, r11w, 0x2e
mov rax, qword [rbp - 0x10]
mov rbx, qword [rbp - 0x18]
cmp r12b, r9b
jmp 0x18001b80e
sub rax, rbx
test r10d, esp
jmp 0x18001b819
sar rax, 5
test ax, dx
jmp 0x18001b825
test rax, rax
jmp 0x18001b82d
je 0x18001bd00
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r14, rax
cmp qword [rbx + 0x18], 0x10
jmp 0x18001b846
jb 0x18001b84f
mov rbx, qword [rbx]
mov dword [rax], r13d
mov r8d, 0xa
lea rdx, [rbp + 0x10]
mov rcx, rbx
jmp 0x18001b864
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp + 0x10]
jmp 0x18001b873
jne 0x18001b88c
lea rcx, str.invalid_stoi_argument
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
int3
cmp dword [r14], 0x22
jmp 0x18001b895
jne 0x18001b8b8
lea rcx, str.stoi_argument_out_of_range
jmp 0x18001b8a7
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
nop
jmp 0x18001b8b3
jmp 0x1800061c1
mov rdx, qword [rbp - 0x28]
bt r8, r15
mov rax, rdx
movzx r8, r12w
bsf r8w, si
cmp r12b, 0x25
mov r8, qword [rbp - 0x30]
cmc
cmp si, r13w
jmp 0x18001b8de
sub rax, r8
test r9w, r14w
cmc
sar rax, 5
test rax, rax
jmp 0x18001b8f2
je 0x18001ba53
sub r15d, r15d
cmp r11d, edi
sub r12d, r12d
nop dword [rax]
nop word [rax + rax]
sub rdx, r8
cmc
stc
clc
sar rdx, 5
cmp r13b, 0xbe
cmp rdx, r15
jmp 0x18001b924
jbe 0x18001bd00
lea rbx, [r8 + r12]
jmp 0x18001b933
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov r14, rax
cmp spl, bl
cmp qword [rbx + 0x18], 0x10
jmp 0x18001b949
jb 0x18001b95c
mov rbx, qword [rbx]
mov dh, dl
cmovns r8d, ebx
movzx ecx, r8w
mov dword [rax], 0
mov r8d, 0xa
mov ecx, r13d
lea rdx, [rbp - 0x40]
not cl
mov rcx, rbx
jmp 0x18001b979
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
cmp rbx, qword [rbp - 0x40]
jmp 0x18001b988
je 0x18001bc66
cmp dword [r14], 0x22
jmp 0x18001b997
je 0x18001bc49
mov dword [rbp + 0x10], eax
mov rdx, qword [rdi + 8]
cmp rdx, qword [rdi + 0x10]
jmp 0x18001b9ad
je 0x18001b9c9
mov dword [rdx], eax
jmp 0x18001b9ba
add qword [rdi + 8], 4
jmp 0x18001b9c4
jmp 0x18001b9e3
lea r8, [rbp + 0x10]
xchg ch, cl
mov ch, bl
movzx cx, r12b
mov rcx, rdi
jmp 0x18001b9de
call fcn.180006910
inc r13d
movzx rdx, r12w
inc r15
movsx rax, si
or r8w, di
xor ax, 0x4281
add r12, 0x20
bts dx, sp
sal cl, cl
movzx cx, al
mov rdx, qword [rbp - 0x28]
xadd r8w, ax
cdqe
mov rcx, rdx
setne r8b
mov r8, qword [rbp - 0x30]
sal al, cl
cwde
btr ax, r13w
sub rcx, r8
stc
sub al, 0x80
sar rcx, 5
cbw
jmp 0x18001ba36
movsxd rax, r13d
cmp rax, rcx
jb 0x18001b90e
lea r15, [rsi + 0x10]
add dl, r9b
movzx dx, ah
mov r12, qword [rsp + 0x30]
cdq
mov rdx, qword [rsi + 0x38]
btc cx, r9w
cmp r10, 0xffffffffd338a530
ror ch, 0x35
sub rdx, qword [rsi + 0x30]
mov ch, send
movzx rcx, r11w
mov rcx, r11
mov rcx, r12
jmp 0x18001ba7c
call fcn.1800063f0
xor r9d, r9d
mov r8, qword [rsi + 0x30]
cmc
test r14d, 0x339bc981
cmp qword [rsi + 0x38], r8
jmp 0x18001ba99
je 0x18001bb08
sub edx, edx
lahf
cbw
nop word [rax + rax]
movsxd rcx, esp
lahf
movsx ax, bl
movzx ecx, byte [r8 + rdx]
mov rax, qword [r12]
movsxd r8, esi
mov byte [rdx + rax], cl
movzx r8w, dl
inc r9d
bt ax, ax
test r13b, 0xa3
xor r8d, r9d
lea rdx, [rdx + 1]
shr r8w, 0x98
mov r8, qword [rsi + 0x30]
btc ax, 0x35
bt rcx, rsp
sub ecx, r12d
mov rcx, qword [rsi + 0x38]
movsx rax, r14w
sub rcx, r8
movsxd rax, r9d
cmp rax, rcx
jb 0x18001bab6
mov rcx, qword [rbp - 0x18]
and dl, cl
sar dx, cl
mov rdx, qword [rbp - 0x10]
cmp r8, 0xffffffffd7952f38
cmp spl, r9b
cmp rcx, rdx
je 0x18001bb3d
call fcn.180006530
mov rax, qword [rbp - 0x18]
and cx, 0xba36
mov qword [rbp - 0x10], rax
cmp r15, rbp
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
stc
cmp rcx, rdx
je 0x18001bb61
call fcn.180006530
mov rax, qword [rbp - 0x30]
mov qword [rbp - 0x28], rax
btr ax, r9w
mov rax, qword [rsi + 0x30]
cmp r14, r15
cmp rcx, 0xffffffffada50991
cmp rax, qword [rsi + 0x38]
jmp 0x18001bb78
je 0x18001bb8d
mov qword [rsi + 0x38], rax
mov ax, 0xce12
btc eax, edx
movsx rax, r12w
mov rax, r15
cmp qword [r15 + 0x18], 0x10
jb 0x18001bba8
mov rax, qword [r15]
movsx cx, r15b
mov ecx, 0xfc1e7913
mov qword [r15 + 0x10], 0
mov byte [rax], 0
bswap ecx
jmp 0x18001bbba
lea rcx, [rbp - 0x30]
jmp 0x18001bbc3
call fcn.180006470
nop
movzx ecx, ax
movsx rcx, r9w
bswap cx
lea rcx, [rbp - 0x18]
jmp 0x18001bbdc
call fcn.180006470
mov al, 1
sub ch, 0x95
rcr cx, cl
movsx rcx, sp
mov rcx, qword [rbp + 0x20]
xor rcx, rsp
jmp 0x18001bbf9
call fcn.18000f410
mov rbx, qword [rsp + 0x178]
rol r15, cl
or sil, r8b
adc r13, 0x891bbab
add rsp, 0x130
cmove si, bp
mov bpl, cl
pop r15
cmovge r14, r8
xchg r14, rbp
pop r14
pop r13
setb bpl
pop r12
mov sil, r11b
bswap si
jmp 0x18001bc3f
pop rdi
movzx esi, si
movsxd rsi, edx
pop rsi
pop rbp
ret
lea rcx, str.stoi_argument_out_of_range
jmp 0x18001bc55
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_]
nop
jmp 0x18001bc61
jmp 0x180006389
lea rcx, str.invalid_stoi_argument
jmp 0x18001bc72
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_]
nop
movzx rbx, bx
mov rbx, qword [rsi]
cmp dword [rbx + 0x60], 0
jmp 0x18001bc89
je 0x18001bce5
movups xmm0, xmmword [rbx + 0x58]
movaps xmmword [rsp + 0x20], xmm0
movsx cx, dil
movzx rcx, r12w
lea rcx, [rsp + 0x20]
jmp 0x18001bcab
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
jmp 0x18001bcb8
jne 0x18001bce5
xorps xmm0, xmm0
movups xmmword [rbx + 0x58], xmm0
movsx ecx, r11w
mov rcx, qword [rbx + 0x38]
call qword [sym.imp.WS2_32.dll_closesocket]
call qword [sym.imp.WS2_32.dll_WSACleanup]
sub al, al
jmp 0x18001bce0
jmp 0x18001bbed
mov ecx, 1
jmp 0x18001bcef
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
nop
jmp 0x18001bcfb
jmp 0x1800063df
call fcn.180003df0
nop
jmp 0x18001bd0b
jmp 0x1800063e5
call fcn.180003df0
nop
jmp 0x1800063eb