Function at 0x140030ce0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x538
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x4b0], 0xfffffffffffffffe
mov r13, r9
cmp qword [rdx + 0x2a8], 0
je 0x140030d99
mov rsi, r8
mov rdi, rdx
mov r14, rcx
cmp byte [0x140184b09], 0
jne 0x140030d48
movabs rax, 0x6e6f697461636f6c
mov qword [0x140184b00], rax
mov byte [0x140184b08], 0
mov byte [0x140184b09], 1
xorps xmm0, xmm0
movaps xmmword [rbp - 0x40], xmm0
movaps xmmword [rbp - 0x50], xmm0
lea rcx, [0x140184b00]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test rax, rax
js 0x1400318a4
mov rbx, rax
cmp rax, 0xf
ja 0x140030da8
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
lea rdx, [0x140184b00]
lea rcx, [rbp - 0x50]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, rbp
add rbx, 0xffffffffffffffb0
jmp 0x140030e0c
mov dword [r13], 6
xor esi, esi
jmp 0x140031881
mov rax, rbx
or rax, 0xf
cmp rax, 0x17
mov r12d, reloc.WS2_32.dll_shutdown
cmovae r12, rax
cmp r12, 0xfff
jb 0x140030dde
lea rcx, [r12 + 0x28]
call fcn.1400f0b5c
lea r15, [rax + 0x27]
and r15, 0xffffffffffffffe0
mov qword [r15 - 8], rax
jmp 0x140030deb
lea rcx, [r12 + 1]
call fcn.1400f0b5c
mov r15, rax
mov qword [rbp - 0x50], r15
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], r12
lea rdx, [0x140184b00]
mov rcx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memcpy
add rbx, r15
mov byte [rbx], 0
lea rbx, [rbp + 0x400]
lea r8, [rbp - 0x50]
mov rcx, rsi
mov rdx, rbx
xor r9d, r9d
call fcn.140030bc0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x140030e67
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140030e62
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
cmp qword [rbp + 0x410], 0
je 0x1400311b8
mov eax, dword [0x140185f68]
mov ecx, dword [0x14019f7f0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 0x28]
jg 0x1400318a9
mov qword [rbp + 0x390], 0
mov byte [rbp + 0x398], 0
xorps xmm0, xmm0
movups xmmword [rbp + 0x3d0], xmm0
mov byte [rbp + 0x3e0], 0
movups xmmword [rbp + 0x3e8], xmm0
mov byte [rbp + 0x3f8], 0
movups xmmword [rbp + 0x3a0], xmm0
movups xmmword [rbp + 0x3b0], xmm0
movups xmmword [rbp + 0x3b9], xmm0
cmp qword [rbp + 0x418], 0x10
jb 0x140030ef1
mov rbx, qword [rbp + 0x400]
mov rdx, qword [rbp + 0x410]
add rdx, rbx
mov byte [rsp + 0x28], 1
mov dword [rsp + 0x20], 0
lea r9, [0x140185f40]
lea r8, [rbp + 0x390]
mov rcx, rbx
call fcn.1400223d0
test al, al
je 0x1400311bf
mov rax, qword [r14]
mov rcx, r14
call qword [rax + 0x28]
cmp byte [0x1401846a2], 0
jne 0x140030f52
mov dword [0x14018469c], 0x70747468
mov word [0x1401846a0], 0x73
mov byte [0x1401846a2], 1
lea rbx, [rbp + 0x3e8]
cmp byte [0x140184679], 0
jne 0x140030f7a
mov dword [0x140184674], 0x70747468
mov byte [0x140184678], 0
mov byte [0x140184679], 1
lea rcx, [0x14018469c]
lea rdx, [0x140184674]
test al, al
cmovne rdx, rcx
mov qword [rbp + 0x440], rdx
mov rcx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3a8]
sub rax, rcx
sar rax, 3
movabs r15, 0xaaaaaaaaaaaaaaab
imul rax, r15
add rcx, 0x18
cmp rax, 2
cmovb rcx, rbx
lea r12, [rbp + 0x460]
mov rdx, r12
call fcn.14001cee0
mov rcx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3a8]
sub rax, rcx
sar rax, 3
imul rax, r15
add rcx, 0x30
cmp rax, 3
cmovb rcx, rbx
lea rdx, [rbp + 0x480]
call fcn.14001cee0
mov qword [rbp + 0x448], r13
cmp qword [rbp + 0x490], 0
jne 0x1400310a2
mov rcx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3a8]
sub rax, rcx
sar rax, 3
imul rax, r15
add rcx, 0x48
cmp rax, 4
cmovb rcx, rbx
lea rdx, [rbp - 0x50]
call fcn.14001cee0
mov rax, qword [rbp + 0x498]
cmp rax, 0x10
jb 0x14003108c
mov rcx, qword [rbp + 0x480]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140031087
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
movups xmm0, xmmword [rbp - 0x50]
movups xmm1, xmmword [rbp - 0x40]
movaps xmmword [rbp + 0x490], xmm1
movaps xmmword [rbp + 0x480], xmm0
mov rcx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3a8]
sub rax, rcx
sar rax, 3
imul rax, r15
add rcx, 0x60
cmp rax, 5
cmovb rcx, rbx
lea r13, [rbp + 0x330]
mov rdx, r13
call fcn.14001cee0
mov rcx, qword [rbp + 0x3a0]
mov rax, qword [rbp + 0x3a8]
sub rax, rcx
sar rax, 3
imul rax, r15
add rcx, 0x78
cmp rax, 6
cmovb rcx, rbx
lea rdx, [rbp + 0x420]
mov qword [rbp + 0x450], rdx
call fcn.14001cee0
mov rax, qword [rbp + 0x3a0]
mov rcx, qword [rbp + 0x3a8]
sub rcx, rax
sar rcx, 3
imul rcx, r15
add rax, 0x90
cmp rcx, 7
cmovae rbx, rax
lea rdx, [rbp + 0x350]
mov rcx, rbx
mov qword [rbp + 0x458], rdx
call fcn.14001cee0
cmp qword [rbp + 0x340], 0
mov r15, qword [rbp + 0x440]
je 0x1400311c6
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__errno]
mov rbx, rax
cmp qword [rbp + 0x348], 0x10
jb 0x140031176
mov r13, qword [rbp + 0x330]
mov dword [rbx], 0
lea rdx, [rbp - 0x50]
mov rcx, r13
mov r8d, 0xa
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_strtol]
mov dword [rbp + 0x4ac], eax
cmp r13, qword [rbp - 0x50]
je 0x14003195c
cmp dword [rbx], 0x22
je 0x14003196d
cmp qword [rbp + 0x470], 0
jne 0x14003128f
jmp 0x140031233
xor esi, esi
jmp 0x140031840
xor esi, esi
jmp 0x140031804
mov rbx, qword [rbp + 0x470]
test rbx, rbx
je 0x140031229
cmp byte [0x1401846a2], 0
jne 0x1400311f5
mov dword [0x14018469c], 0x70747468
mov word [0x1401846a0], 0x73
mov byte [0x1401846a2], 1
lea rcx, [0x14018469c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov ecx, 0x50
cmp rbx, rax
jne 0x1400314e8
cmp qword [rbp + 0x478], 0x10
jb 0x1400314c3
mov rcx, qword [rbp + 0x460]
jmp 0x1400314ca
mov eax, dword [r14 + 0x28]
mov dword [rbp + 0x4ac], eax
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbx, rax
mov rax, qword [rbp + 0x478]
cmp rax, rbx
jae 0x14003125e
lea rcx, [rbp + 0x460]
mov rdx, rbx
mov r9, r15
call fcn.14001c000
jmp 0x14003128f
cmp rax, 0x10
jb 0x14003126d
mov r13, qword [rbp + 0x460]
jmp 0x140031274
lea r13, [rbp + 0x460]
mov qword [rbp + 0x470], rbx
mov rcx, r13
mov rdx, r15
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r13 + rbx], 0
cmp qword [rbp + 0x490], 0
je 0x1400314fc
cmp qword [rbp + 0x430], 0
jne 0x140031331
cmp byte [0x140184b69], 0
jne 0x1400312c4
mov word [0x140184b67], 0x2f
mov byte [0x140184b69], 1
lea rcx, [0x140184b67]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbx, rax
mov rax, qword [rbp + 0x438]
cmp rax, rbx
jae 0x1400312f7
lea r9, [0x140184b67]
lea rcx, [rbp + 0x420]
mov rdx, rbx
call fcn.14001c000
jmp 0x140031331
cmp rax, 0x10
jb 0x14003130b
mov rax, qword [rbp + 0x420]
mov qword [rbp + 0x450], rax
mov qword [rbp + 0x430], rbx
lea rdx, [0x140184b67]
mov r13, qword [rbp + 0x450]
mov rcx, r13
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r13 + rbx], 0
lea rbx, [rbp - 0x50]
lea rdx, [rbp + 0x420]
mov rcx, rbx
mov r8b, 1
call fcn.14003e040
mov r8, qword [rbp + 0x360]
cmp qword [rbp + 0x368], 0x10
jb 0x140031366
mov rax, qword [rbp + 0x350]
mov qword [rbp + 0x458], rax
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x38]
mov rdx, rax
sub rdx, rcx
cmp rdx, r8
jae 0x14003139d
mov qword [rsp + 0x20], r8
lea rcx, [rbp - 0x50]
mov rdx, r8
mov r9, qword [rbp + 0x458]
call fcn.140025780
mov r13, qword [rbp + 0x448]
mov rbx, rax
jmp 0x1400313da
mov r15, r12
lea r13, [rcx + r8]
mov qword [rbp - 0x40], r13
mov r12, rbx
cmp rax, 0x10
jb 0x1400313b5
mov r12, qword [rbp - 0x50]
add rcx, r12
mov rdx, qword [rbp + 0x458]
call sub.VCRUNTIME140.dll_memmove
mov byte [r12 + r13], 0
mov r13, qword [rbp + 0x448]
mov r12, r15
mov r15, qword [rbp + 0x440]
movups xmm0, xmmword [rbx]
movups xmm1, xmmword [rbx + 0x10]
movaps xmmword [rbp + 0x380], xmm1
movaps xmmword [rbp + 0x370], xmm0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], 0
mov rax, qword [rbp - 0x38]
cmp rax, 0x10
jb 0x140031441
mov rcx, qword [rbp - 0x50]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14003143c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov rcx, r15
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rbx, qword [rbp + 0x470]
cmp rbx, rax
jne 0x1400315b2
cmp qword [rbp + 0x478], 0x10
jb 0x14003146c
mov rcx, qword [rbp + 0x460]
jmp 0x140031473
lea rcx, [rbp + 0x460]
mov rdx, r15
mov r8, rax
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400315b2
mov r8, qword [r14 + 0x18]
cmp qword [rbp + 0x490], r8
jne 0x1400315b2
cmp qword [rbp + 0x498], 0x10
lea rcx, [rbp + 0x480]
jb 0x1400314af
mov rcx, qword [rbp + 0x480]
cmp qword [r14 + 0x20], 0x10
jb 0x14003156c
mov rdx, qword [r14 + 8]
jmp 0x140031570
lea rcx, [rbp + 0x460]
lea rdx, [0x14018469c]
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
mov eax, 0x1bb
mov ecx, 0x50
cmove ecx, eax
mov dword [rbp + 0x4ac], ecx
cmp qword [rbp + 0x490], 0
jne 0x14003129d
lea r9, [r14 + 8]
lea r13, [rbp + 0x480]
cmp r13, r9
je 0x14003129d
mov rbx, qword [r14 + 0x18]
cmp qword [r14 + 0x20], 0x10
jb 0x14003151f
mov r9, qword [r14 + 8]
mov rax, qword [rbp + 0x498]
cmp rax, rbx
jae 0x14003153f
lea rcx, [rbp + 0x480]
mov rdx, rbx
call fcn.14001c000
jmp 0x14003129d
cmp rax, 0x10
jb 0x14003154c
mov r13, qword [rbp + 0x480]
mov qword [rbp + 0x490], rbx
mov rcx, r13
mov rdx, r9
mov r8, rbx
call sub.VCRUNTIME140.dll_memmove
mov byte [r13 + rbx], 0
jmp 0x14003129d
lea rdx, [r14 + 8]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1400315b2
mov eax, dword [rbp + 0x4ac]
cmp eax, dword [r14 + 0x28]
jne 0x1400315b2
mov qword [rsp + 0x28], r13
lea rax, [rbp + 0x400]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x370]
mov rcx, r14
mov rdx, rdi
mov r8, rsi
call fcn.1400413d0
mov esi, eax
jmp 0x140031666
cmp byte [0x1401846a2], 0
jne 0x1400315d5
mov dword [0x14018469c], 0x70747468
mov word [0x1401846a0], 0x73
mov byte [0x1401846a2], 1
lea rcx, [0x14018469c]
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
cmp rbx, rax
jne 0x140031611
cmp qword [rbp + 0x478], 0x10
jb 0x1400315f7
mov r12, qword [rbp + 0x460]
lea rdx, [0x14018469c]
mov rcx, r12
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x140031897
lea rcx, [rbp - 0x50]
lea rdx, [rbp + 0x480]
mov r8d, dword [rbp + 0x4ac]
call fcn.140041910
lea rcx, [rbp - 0x50]
mov rdx, r14
call fcn.140041a20
mov qword [rsp + 0x28], r13
lea rax, [rbp + 0x400]
mov qword [rsp + 0x20], rax
lea rcx, [rbp - 0x50]
lea r9, [rbp + 0x370]
mov rdx, rdi
mov r8, rsi
call fcn.1400413d0
mov esi, eax
lea rcx, [rbp - 0x50]
call fcn.1400270b0
mov rax, qword [rbp + 0x388]
cmp rax, 0x10
jb 0x1400316ab
mov rcx, qword [rbp + 0x370]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400316a6
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov rax, qword [rbp + 0x368]
cmp rax, 0x10
jb 0x1400316f0
mov rcx, qword [rbp + 0x350]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400316eb
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov rax, qword [rbp + 0x438]
cmp rax, 0x10
jb 0x140031735
mov rcx, qword [rbp + 0x420]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140031730
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov rax, qword [rbp + 0x348]
cmp rax, 0x10
jb 0x14003177a
mov rcx, qword [rbp + 0x330]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x140031775
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov rax, qword [rbp + 0x498]
cmp rax, 0x10
jb 0x1400317bf
mov rcx, qword [rbp + 0x480]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400317ba
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov rax, qword [rbp + 0x478]
cmp rax, 0x10
jb 0x140031804
mov rcx, qword [rbp + 0x460]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1400317ff
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov rcx, qword [rbp + 0x3a0]
test rcx, rcx
je 0x140031840
mov rdx, qword [rbp + 0x3b0]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14003183b
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x14003189e
add rdx, 0x27
mov rcx, rax
call fcn.1400f0ba0
mov rax, qword [rbp + 0x418]
cmp rax, 0x10
jb 0x140031881
mov rcx, qword [rbp + 0x400]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14003187c
mov r8, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, r8
cmp rcx, 0x20
jae 0x14003189e
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400f0ba0
mov eax, esi
add rsp, 0x538
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
xor esi, esi
jmp 0x140031666
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
call fcn.14001c100
lea rcx, [0x140185f68]
call fcn.1400f0bdc
cmp dword [0x140185f68], 0xffffffff
jne 0x140030e9a
cmp byte [0x140184b66], 0
jne 0x140031926
xor eax, eax
lea rcx, [0x1400fc250]
lea rdx, [0x140184b0a]
mov r8d, eax
and r8d, 0xe
movzx r8d, byte [r8 + rcx + 0x2325]
lea r9d, [rax + 1]
and r9d, 0xf
movzx r9d, byte [r9 + rcx + 0x2325]
xor r8b, byte [rax + rcx + 0x2335]
xor r9b, byte [rax + rcx + 0x2336]
mov byte [rax + rdx], r8b
mov byte [rax + rdx + 1], r9b
add rax, 2
cmp rax, 0x5c
jne 0x1400318db
mov byte [0x140184b66], 1
lea rcx, [0x140185f40]
lea rdx, [0x140184b0a]
mov r8d, 1
call fcn.14001cd10
lea rcx, [0x140041340]
call fcn.1400f0d90
lea rcx, [0x140185f68]
call fcn.1400f0c90
jmp 0x140030e9a
call fcn.14005b010
lea rcx, [0x140184770]
call sub.MSVCP140.dll_void___cdecl_std::_Xinvalid_argument_char_const____ptr64_
cmp byte [0x1401847a3], 0
jne 0x1400319ac
movaps xmm0, xmmword [0x1401012e0]
movups xmmword [0x140184788], xmm0
movabs rax, 0x6e617220666f2074
mov qword [0x140184798], rax
mov word [0x1401847a0], 0x6567
mov byte [0x1401847a2], 0
mov byte [0x1401847a3], 1
lea rcx, [0x140184788]
call sub.MSVCP140.dll_void___cdecl_std::_Xout_of_range_char_const____ptr64_
int3