Function at 0x1800630c0
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x170
mov rax, qword [0x180174838]
xor rax, rsp
mov qword [rsp + 0x160], rax
mov r11d, edx
mov dword [rsp + 0x38], edx
mov r15, rcx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x40], rcx
lea rax, [rcx + 8]
mov qword [rsp + 0x98], rax
mov rcx, qword [rax + 8]
mov rdx, qword [rax]
cmp rdx, rcx
je 0x180063a18
cmp r11d, r8d
jge 0x180063a18
xorps xmm0, xmm0
movups xmmword [rsp + 0x140], xmm0
xor r14d, r14d
mov qword [rsp + 0x150], r14
mov qword [rsp + 0x158], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x140], r14b
mov qword [rsp + 0xb0], r14
mov byte [rsp + 0xb8], r14b
movdqa xmmword [rsp + 0xc0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rsp + 0xd0], xmm1
mov qword [rsp + 0xe0], r14
mov byte [rsp + 0xe8], r14b
movdqa xmmword [rsp + 0xf0], xmm0
mov byte [rsp + 0x100], r14b
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x110], r14
mov byte [rsp + 0x118], r14b
movups xmmword [rsp + 0x120], xmm0
mov qword [rsp + 0x130], r14
mov r13d, reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x138], r13
mov byte [rsp + 0x120], r14b
sub rcx, rdx
movabs rbx, 0x2aaaaaaaaaaaaaab
mov rax, rbx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8d, edx
cmovl edx, r8d
mov eax, r14d
test edx, edx
cmovg eax, edx
mov dword [rsp + 0x70], eax
mov r12, qword [rsp + 0x120]
mov dword [rsp + 0x48], r11d
cmp r11d, dword [rsp + 0x70]
jge 0x18006396d
mov rdx, qword [rsp + 0x98]
movsxd rax, r11d
lea rcx, [rax + rax*2]
mov rax, qword [rdx]
lea rsi, [rax + rcx*8]
mov qword [rsp + 0x80], rsi
mov rcx, qword [rsi + 8]
mov rax, qword [rsi]
cmp rax, rcx
je 0x180063960
sub rcx, rax
mov rax, rbx
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, qword [rsp + 0x150]
ja 0x1800632a0
lea rax, [rsp + 0x140]
cmp qword [rsp + 0x158], 0x10
cmovae rax, qword [rsp + 0x140]
mov qword [rsp + 0x150], rdx
mov byte [rax + rdx], 0
jmp 0x180063319
mov rdi, rdx
mov rcx, qword [rsp + 0x150]
sub rdi, rcx
mov r8, qword [rsp + 0x158]
mov rax, r8
sub rax, rcx
cmp rdi, rax
ja 0x1800632fe
mov qword [rsp + 0x150], rdx
lea rbx, [rsp + 0x140]
cmp r8, 0x10
cmovae rbx, qword [rsp + 0x140]
add rbx, rcx
mov r8, rdi
xor edx, edx
mov rcx, rbx
call sub.VCRUNTIME140.dll_memset
mov byte [rdi + rbx], 0
movabs rbx, 0x2aaaaaaaaaaaaaab
jmp 0x180063319
mov byte [rsp + 0x20], 0
mov r9, rdi
xor r8d, r8d
mov rdx, rdi
lea rcx, [rsp + 0x140]
call fcn.18005d8f0
mov r8, r14
mov r10, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, r10
mov rax, rbx
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
je 0x180063391
mov r9, r14
nop
movzx ecx, byte [r10 + r9]
lea rax, [rsp + 0x140]
cmp qword [rsp + 0x158], 0x10
cmovae rax, qword [rsp + 0x140]
mov byte [rax + r8], cl
mov dword [r10 + r9 + 4], r14d
inc r8
lea r9, [r9 + 0xc]
mov r10, qword [rsi]
mov rcx, qword [rsi + 8]
sub rcx, r10
mov rax, rbx
imul rcx
sar rdx, 1
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp r8, rdx
jb 0x180063340
lea rdx, [rsp + 0x140]
cmp qword [rsp + 0x158], 0x10
cmovae rdx, qword [rsp + 0x140]
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x90], rdx
mov rcx, qword [rsp + 0x150]
add rcx, rdx
mov qword [rsp + 0x68], rcx
mov rsi, rdx
mov r12, qword [rsp + 0x120]
mov r13, qword [rsp + 0x138]
mov qword [rsp + 0x50], rsi
cmp rsi, rcx
je 0x180063951
mov qword [rsp + 0x58], r14
mov qword [rsp + 0x60], r14
mov dword [rsp + 0x34], r14d
xor dil, dil
mov byte [rsp + 0x30], dil
mov rax, qword [r15 + 0x270]
test rax, rax
je 0x180063435
lea rdx, [rsp + 0x34]
mov qword [rsp + 0x20], rdx
lea r9, [rsp + 0x60]
lea r8, [rsp + 0x58]
mov rdx, rcx
mov rcx, rsi
call rax
test al, al
jne 0x1800634db
mov rcx, qword [rsp + 0x68]
mov rbx, qword [r15 + 0x298]
mov r14, qword [r15 + 0x2a0]
cmp rbx, r14
je 0x180063497
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 0x40
mov r9, rbx
lea r8, [rsp + 0xb0]
mov rdx, rcx
mov rcx, rsi
call fcn.18005da80
test al, al
je 0x180063499
mov dil, 1
mov byte [rsp + 0x30], dil
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rcx]
mov qword [rsp + 0x58], rax
mov rax, qword [rcx + 8]
mov qword [rsp + 0x60], rax
mov eax, dword [rbx + 0x28]
mov dword [rsp + 0x34], eax
jmp 0x1800634c6
add rbx, 0x30
mov rcx, qword [rsp + 0x68]
jmp 0x180063443
xor r14d, r14d
test dil, dil
jne 0x1800634db
inc rsi
mov rcx, qword [rsp + 0x68]
jmp 0x1800633cb
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x58]
sub r8, rdx
mov qword [rsp + 0x50], r8
cmp dword [rsp + 0x34], 7
jne 0x1800638d6
lea rcx, [rsp + 0x120]
call fcn.18000b3a0
mov r12, qword [rsp + 0x120]
mov r13, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x130]
cmp byte [r15 + 0x290], 0
jne 0x18006358d
lea r14, [rsp + 0x120]
cmp r13, 0x10
cmovae r14, r12
lea r15, [rsp + 0x120]
cmovae r15, r12
add r15, rbx
lea rdi, [rsp + 0x120]
cmp r13, 0x10
cmovae rdi, r12
cmp rdi, r15
je 0x18006358d
sub r14, rdi
nop
movsx ecx, byte [rdi]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_toupper]
mov byte [r14 + rdi], al
inc rdi
cmp rdi, r15
jne 0x180063560
mov r13, qword [rsp + 0x138]
mov rbx, qword [rsp + 0x130]
mov r12, qword [rsp + 0x120]
sub rsi, qword [rsp + 0x78]
lea rcx, [rsi + rsi*2]
mov rax, qword [rsp + 0x80]
mov rax, qword [rax]
lea r8, [rsp + 0x120]
test byte [rax + rcx*4 + 8], 4
jne 0x180063817
cmp r13, 0x10
cmovae r8, r12
movabs r10, 0xcbf29ce484222325
mov rdx, r10
xor r14d, r14d
mov ecx, r14d
movabs r15, 0x100000001b3
test rbx, rbx
je 0x1800635f4
nop
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r15
inc rcx
cmp rcx, rbx
jb 0x1800635e0
mov r9, qword [rsp + 0x40]
mov rcx, qword [r9 + 0x178]
and rcx, rdx
add rcx, rcx
mov rax, qword [r9 + 0x160]
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r9 + 0x150]
je 0x18006367e
mov rsi, qword [rax + rcx*8]
nop
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180063632
mov rdx, qword [rdx]
lea rcx, [rsp + 0x120]
cmp r13, 0x10
cmovae rcx, r12
cmp rbx, rax
jne 0x180063653
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18006365e
cmp rdi, rsi
je 0x18006366f
mov rdi, qword [rdi + 8]
jmp 0x180063620
mov r9, qword [rsp + 0x40]
movabs r10, 0xcbf29ce484222325
jmp 0x180063681
mov r9, qword [rsp + 0x40]
movabs r10, 0xcbf29ce484222325
mov rdi, r14
test rdi, rdi
je 0x180063693
mov dword [rsp + 0x34], 1
jmp 0x1800638e6
lea r8, [rsp + 0x120]
cmp r13, 0x10
cmovae r8, r12
mov rdx, r10
mov rcx, r14
test rbx, rbx
je 0x1800636c4
nop
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r15
inc rcx
cmp rcx, rbx
jb 0x1800636b0
mov rcx, qword [r9 + 0x1b8]
and rcx, rdx
add rcx, rcx
mov rax, qword [r9 + 0x1a0]
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r9 + 0x190]
je 0x18006374e
mov rsi, qword [rax + rcx*8]
nop word [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x180063702
mov rdx, qword [rdx]
lea rcx, [rsp + 0x120]
cmp r13, 0x10
cmovae rcx, r12
cmp rbx, rax
jne 0x180063723
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x18006372e
cmp rdi, rsi
je 0x18006373f
mov rdi, qword [rdi + 8]
jmp 0x1800636f0
mov r9, qword [rsp + 0x40]
movabs r10, 0xcbf29ce484222325
jmp 0x180063751
mov r9, qword [rsp + 0x40]
movabs r10, 0xcbf29ce484222325
mov rdi, r14
test rdi, rdi
je 0x180063763
mov dword [rsp + 0x34], 8
jmp 0x1800638e6
lea r8, [rsp + 0x120]
cmp r13, 0x10
cmovae r8, r12
mov rdx, r10
mov rcx, r14
test rbx, rbx
je 0x180063794
nop
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r15
inc rcx
cmp rcx, rbx
jb 0x180063780
mov rcx, qword [r9 + 0x1f8]
and rcx, rdx
add rcx, rcx
mov rax, qword [r9 + 0x1e0]
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r9 + 0x1d0]
je 0x1800637fe
mov rsi, qword [rax + rcx*8]
nop word [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1800637d2
mov rdx, qword [rdx]
lea rcx, [rsp + 0x120]
cmp r13, 0x10
cmovae rcx, r12
cmp rbx, rax
jne 0x1800637f3
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180063801
cmp rdi, rsi
je 0x1800637fe
mov rdi, qword [rdi + 8]
jmp 0x1800637c0
mov rdi, r14
test rdi, rdi
je 0x1800638e6
mov dword [rsp + 0x34], 9
jmp 0x1800638e6
cmp r13, 0x10
cmovae r8, r12
movabs rdx, 0xcbf29ce484222325
xor r14d, r14d
mov ecx, r14d
test rbx, rbx
je 0x18006385c
movabs r13, 0x100000001b3
nop
movzx eax, byte [rcx + r8]
xor rdx, rax
imul rdx, r13
inc rcx
cmp rcx, rbx
jb 0x180063840
mov r13, qword [rsp + 0x138]
mov r15, qword [rsp + 0x40]
mov rcx, qword [r15 + 0x1f8]
and rcx, rdx
add rcx, rcx
mov rax, qword [r15 + 0x1e0]
mov rdi, qword [rax + rcx*8 + 8]
cmp rdi, qword [r15 + 0x1d0]
je 0x1800637fe
mov rsi, qword [rax + rcx*8]
nop dword [rax + rax]
lea rdx, [rdi + 0x10]
mov rax, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 0x10
jb 0x1800638a2
mov rdx, qword [rdx]
lea rcx, [rsp + 0x120]
cmp r13, 0x10
cmovae rcx, r12
cmp rbx, rax
jne 0x1800638c7
mov r8, rbx
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
je 0x180063801
cmp rdi, rsi
je 0x1800637fe
mov rdi, qword [rdi + 8]
jmp 0x180063890
mov r13, qword [rsp + 0x138]
mov r12, qword [rsp + 0x120]
mov r8, r14
mov r9, qword [rsp + 0x50]
test r9, r9
je 0x18006393a
mov r14, qword [rsp + 0x80]
nop dword [rax + rax]
mov rax, r8
sub rax, qword [rsp + 0x90]
add rax, qword [rsp + 0x58]
lea rdx, [rax + rax*2]
mov rcx, qword [r14]
mov eax, dword [rsp + 0x34]
mov dword [rcx + rdx*4 + 4], eax
inc r8
cmp r8, r9
jb 0x180063900
mov r13, qword [rsp + 0x138]
mov r12, qword [rsp + 0x120]
xor r14d, r14d
mov rsi, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x88]
jmp 0x1800633db
mov r11d, dword [rsp + 0x38]
movabs rbx, 0x2aaaaaaaaaaaaaab
inc r11d
mov dword [rsp + 0x38], r11d
jmp 0x18006321a
cmp r13, 0x10
jb 0x1800639a8
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1800639a0
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800639a0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.1800f5030
mov qword [rsp + 0x130], r14
mov qword [rsp + 0x138], reloc.WS2_32.dll_ntohs
mov byte [rsp + 0x120], 0
lea rcx, [rsp + 0xc0]
call fcn.180060fb0
nop
mov rdx, qword [rsp + 0x158]
cmp rdx, 0x10
jb 0x180063a18
inc rdx
mov rcx, qword [rsp + 0x140]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180063a13
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180063a13
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800f5030
mov rcx, qword [rsp + 0x160]
xor rcx, rsp
call fcn.1800f5150
lea r11, [rsp + 0x170]
mov rbx, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret