Function at 0x180097340
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xb8]
sub rsp, 0x190
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1803435b8]
xor rax, rsp
mov qword [rbp + 0x60], rax
xor edi, edi
lea rcx, [0x180343158]
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
cmovae rcx, qword [0x180343158]
mov r8, qword [0x180343168]
test r8, r8
jne 0x1800974b3
lea rdx, [0x18013233b]
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x1800974b3
movdqa xmm0, xmmword [0x180125160]
movdqu xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x68], 0xe7eca01b
mov dword [rsp + 0x6c], 0xafa2f1ed
mov word [rsp + 0x70], 0x100
mov ecx, edi
lea eax, [rcx + 0x6f]
xor byte [rsp + rcx + 0x58], al
inc rcx
cmp rcx, 0x18
jb 0x1800973e0
mov byte [rsp + 0x71], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x78], xmm1
lea rax, [rsp + 0x58]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], dil
jne 0x180097414
lea rdx, [rsp + 0x58]
lea rcx, [rsp + 0x78]
call fcn.18005bb80
nop
lea rdx, [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae rdx, qword [rsp + 0x78]
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], rdi
mov qword [rbp - 0x30], rdi
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x180097450
mov r8, rbx
lea rcx, [rbp - 0x48]
call fcn.18005bb80
lea rcx, [rbp - 0x48]
call fcn.180093580
nop
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x18009795e
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180097959
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x18009794f
jmp 0x180097959
movdqa xmm0, xmmword [0x1801250f0]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm1, xmmword [0x180125260]
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmm0, xmmword [0x1801252b0]
movdqa xmmword [rbp], xmm0
movdqa xmm1, xmmword [0x1801252c0]
movdqa xmmword [rbp + 0x10], xmm1
movdqa xmm0, xmmword [0x1801252a0]
movdqa xmmword [rbp + 0x20], xmm0
mov dword [rbp + 0x30], 0xa7b5b2de
mov dword [rbp + 0x34], 0xa3cfe6a7
mov dword [rbp + 0x38], 0x100aca9
mov rcx, rdi
nop dword [rax]
lea eax, [rcx + 0x6f]
xor byte [rbp + rcx - 0x20], al
inc rcx
cmp rcx, 0x5a
jb 0x180097510
mov byte [rbp + 0x3b], dil
xorps xmm0, xmm0
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x78], rdi
mov qword [rbp - 0x70], rdi
lea rax, [rbp - 0x20]
mov rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], dil
jne 0x180097542
lea rdx, [rbp - 0x20]
lea rcx, [rsp + 0x78]
call fcn.18005bb80
nop
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov r13, qword [rbp - 0x78]
sub rax, r13
cmp rax, 1
jb 0x180097997
lea r12, [rsp + 0x78]
mov r14, qword [rsp + 0x78]
cmp qword [rbp - 0x70], 0x10
cmovae r12, r14
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
xorps xmm1, xmm1
movdqu xmmword [rsp + 0x68], xmm1
lea r15, [r13 + 1]
mov edi, reloc.WS2_32.dll_ntohs
lea rsi, [rsp + 0x58]
cmp r15, rdi
jbe 0x18009762c
mov rdi, r15
or rdi, 0xf
cmp rdi, rcx
jbe 0x1800975e7
mov rdi, rcx
movabs rax, 0x8000000000000000
add rax, 0x27
mov rcx, rax
call fcn.1800ef564
test rax, rax
je 0x18009760f
lea rsi, [rax + 0x27]
and rsi, 0xffffffffffffffe0
mov qword [rsi - 8], rax
jmp 0x180097627
mov eax, reloc.WLDAP32.dll_Ordinal_22
cmp rdi, rax
cmovb rdi, rax
lea rcx, [rdi + 1]
cmp rcx, 0x1000
jb 0x180097616
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x18009799d
jmp 0x1800975cc
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
test rcx, rcx
je 0x180097625
call fcn.1800ef564
mov rsi, rax
jmp 0x180097627
xor esi, esi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x70], rdi
mov byte [rsi], 0xa
lea rcx, [rsi + 1]
mov r8, r13
mov rdx, r12
call sub.VCRUNTIME140.dll_memcpy
mov byte [rsi + r15], 0
mov rcx, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x70]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x180097688
lea rax, [rcx + 1]
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x58]
cmp rdx, 0x10
cmovae rax, qword [rsp + 0x58]
mov word [rax + rcx], 0xa
lea rax, [rsp + 0x58]
jmp 0x1800976a9
mov qword [rsp + 0x20], 1
lea r9, [0x18012384c]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rsp + 0x58]
call fcn.18000b590
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x38], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm1
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], dil
cmp qword [reloc.WS2_32.dll_ntohs], 0x10
lea rdx, [0x180343158]
cmovae rdx, qword [0x180343158]
mov r8, qword [0x180343168]
lea rcx, [rbp - 0x48]
call fcn.180009aa0
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x58], xmm1
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x68], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x58], xmm1
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], dil
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x50]
mov rax, rdx
sub rax, rcx
cmp rax, 1
jb 0x180097761
lea rax, [rcx + 1]
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x68]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x68]
mov word [rax + rcx], 0xa
lea rax, [rbp - 0x68]
jmp 0x180097781
mov qword [rsp + 0x20], 1
lea r9, [0x18012384c]
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x68]
call fcn.18000b590
movups xmm7, xmmword [rax]
movups xmmword [rbp + 0x40], xmm7
movups xmm6, xmmword [rax + 0x10]
movups xmmword [rbp + 0x50], xmm6
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rax], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x1800977dd
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800977d8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800977d8
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef5a0
movdqa xmm0, xmmword [0x180103e90]
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x68], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x18009782c
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180097827
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180097827
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef5a0
movdqa xmm0, xmmword [0x180103e90]
movdqu xmmword [rbp - 0x38], xmm0
mov byte [rbp - 0x48], 0
mov rdx, qword [rsp + 0x70]
cmp rdx, 0x10
jb 0x18009787d
inc rdx
mov rcx, qword [rsp + 0x58]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180097878
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180097878
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef5a0
movdqa xmm0, xmmword [0x180103e90]
movdqu xmmword [rsp + 0x68], xmm0
mov byte [rsp + 0x58], 0
lea rdx, [rbp + 0x40]
movq rcx, xmm7
psrldq xmm6, 8
movq rax, xmm6
cmp rax, 0x10
cmovae rdx, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x38], xmm0
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rdi
nop dword [rax]
inc rbx
cmp byte [rdx + rbx], 0
jne 0x1800978c0
mov r8, rbx
lea rcx, [rsp + 0x38]
call fcn.18005bb80
lea rcx, [rsp + 0x38]
call fcn.180093580
nop
mov rdx, qword [rbp + 0x58]
cmp rdx, 0x10
jb 0x180097920
inc rdx
mov rcx, qword [rbp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18009791a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18009791a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800ef5a0
nop
mov rax, qword [rbp - 0x70]
cmp rax, 0x10
jb 0x18009795e
lea rdx, [rax + 1]
mov rax, r14
cmp rdx, 0x1000
jb 0x180097956
add rdx, 0x27
mov r14, qword [r14 - 8]
sub rax, r14
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180097956
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r14
call fcn.1800ef5a0
mov al, 1
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1800ef6c0
lea r11, [rsp + 0x190]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1800025d0
nop
call fcn.180002530
int3