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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x278]
sub rsp, 0x350
movaps xmmword [rax - 0x38], xmm6
mov rax, qword [0x14016f800]
xor rax, rsp
mov qword [rbp + 0x230], rax
mov rsi, rdx
mov qword [rbp + 0x60], rdx
xor ebx, ebx
mov r14, qword [0x140175710]
xorps xmm0, xmm0
movups xmmword [rbp + 0xb0], xmm0
mov qword [rbp + 0xc0], rbx
mov qword [rbp + 0xc8], rbx
mov edi, 4
mov r8d, edi
lea rdx, str..cfg
lea rcx, [rbp + 0xb0]
call fcn.1400049a0
nop
mov r8, qword [rsi + 0x10]
cmp r8, 3
jbe 0x140061f69
lea rcx, [r8 - 4]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], rbx
mov qword [rbp - 0x68], rbx
cmp r8, rcx
jb 0x14006294a
cmp r8, rdi
cmova r8, rdi
mov rax, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140061e8d
mov rax, qword [rsi]
lea rdx, [rax + rcx]
lea rcx, [rbp - 0x80]
call fcn.1400049a0
lea rdx, [rbp + 0xb0]
mov rcx, qword [rbp + 0xc8]
mov qword [rbp - 0x60], rcx
cmp rcx, 0xf
seta byte [rsp + 0x30]
mov rax, qword [rbp + 0xb0]
mov qword [rsp + 0x38], rax
cmova rdx, rax
lea rcx, [rbp - 0x80]
mov r15, qword [rbp - 0x68]
cmp r15, 0xf
seta r12b
mov rbx, qword [rbp - 0x80]
cmova rcx, rbx
mov r8, qword [rbp - 0x70]
mov r13, qword [rbp + 0xc0]
cmp r8, r13
jne 0x140061efb
call sub.VCRUNTIME140.dll_memcmp
test eax, eax
jne 0x140061efb
xor dil, dil
jmp 0x140061efe
mov dil, 1
test r12b, r12b
je 0x140061f37
lea rdx, [r15 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140061f2f
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140061f2f
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1400d6924
test dil, dil
je 0x140061f89
lea rdx, [rbp + 0xb0]
cmp byte [rsp + 0x30], 0
cmovne rdx, qword [rsp + 0x38]
mov r8, r13
mov rcx, rsi
call fcn.1400032f0
mov r13, qword [rbp + 0xc8]
mov r12, qword [rbp + 0xb0]
jmp 0x140061f92
lea rdx, [rbp + 0xb0]
cmp qword [rbp + 0xc8], 0xf
cmova rdx, qword [rbp + 0xb0]
mov r8, qword [rbp + 0xc0]
jmp 0x140061f51
mov r12, qword [rsp + 0x38]
mov r13, qword [rbp - 0x60]
xor edx, edx
lea rcx, [rbp + 0x80]
call fcn.140064740
nop
mov r15, qword [r14 + 8]
mov rbx, qword [r15]
cmp rbx, r15
je 0x140062364
nop dword [rax]
nop word [rax + rax]
lea rdx, [rbx + 0x10]
lea rcx, [rbp + 0xf0]
call fcn.140002690
movups xmm0, xmmword [rbx + 0x30]
movups xmmword [rbp + 0x110], xmm0
movsxd rax, dword [rbx + 0x38]
movsx rax, al
add rax, 1
mov rcx, rax
je 0x14006297a
sub rcx, 1
je 0x1400620b7
cmp rcx, 1
jne 0x1400620b7
lea rax, [rsp + 0x40]
mov qword [rsp + 0x38], rax
lea r8, [rbp + 0xf0]
lea rdx, [rbp - 0x20]
mov rcx, r14
call fcn.140050e70
mov rdi, qword [rax]
cmp byte [rdi + 0x38], 1
jne 0x140062950
xorps xmm0, xmm0
movups xmmword [rsp + 0x40], xmm0
xor eax, eax
mov qword [rsp + 0x48], rax
movzx edi, byte [rdi + 0x30]
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140064f40
mov byte [rsp + 0x40], 4
mov byte [rbp - 0x60], dil
mov rax, qword [rbp - 0x60]
mov qword [rsp + 0x48], rax
lea rdx, [rbp + 0xf0]
lea rcx, [rbp]
call fcn.140002690
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140063460
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x40]
mov byte [rax], cl
mov byte [rsp + 0x40], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x48]
mov qword [rax + 8], rdx
mov qword [rsp + 0x48], rcx
movzx edx, byte [rsp + 0x40]
lea rcx, [rsp + 0x48]
call fcn.140064f40
nop
jmp 0x140062314
mov rcx, rax
test rax, rax
je 0x140062974
sub rcx, 1
je 0x14006227b
mov rcx, rax
test rax, rax
je 0x140062968
sub rcx, 1
je 0x1400621a7
sub rcx, 1
je 0x1400621a7
cmp rcx, 1
jne 0x1400621a7
lea rax, [rsp + 0x50]
mov qword [rsp + 0x70], rax
lea r8, [rbp + 0xf0]
lea rdx, [rbp - 0x10]
mov rcx, r14
call fcn.140050e70
mov rcx, qword [rax]
cmp byte [rcx + 0x38], 2
jne 0x140062956
xorps xmm0, xmm0
movups xmmword [rsp + 0x50], xmm0
xor eax, eax
mov qword [rsp + 0x58], rax
movss xmm6, dword [rcx + 0x30]
movzx edx, byte [rsp + 0x50]
lea rcx, [rsp + 0x58]
call fcn.140064f40
mov byte [rsp + 0x50], 7
cvtps2pd xmm0, xmm6
movsd qword [rsp + 0x58], xmm0
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x20]
call fcn.140002690
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140063460
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x50]
mov byte [rax], cl
mov byte [rsp + 0x50], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x58]
mov qword [rax + 8], rdx
mov qword [rsp + 0x58], rcx
movzx edx, byte [rsp + 0x50]
lea rcx, [rsp + 0x58]
call fcn.140064f40
nop
jmp 0x140062314
test rax, rax
je 0x140062962
sub rax, 1
je 0x140062314
sub rax, 1
je 0x140062314
cmp rax, 1
je 0x140062314
lea rax, [rsp + 0x60]
mov qword [rsp + 0x70], rax
lea r8, [rbp + 0xf0]
lea rdx, [rbp - 0x50]
mov rcx, r14
call fcn.140050e70
mov rcx, qword [rax]
cmp byte [rcx + 0x38], 3
jne 0x14006295c
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
xor eax, eax
mov qword [rsp + 0x68], rax
movsd xmm6, qword [rcx + 0x30]
movzx edx, byte [rsp + 0x60]
lea rcx, [rsp + 0x68]
call fcn.140064f40
mov byte [rsp + 0x60], 7
movsd qword [rsp + 0x68], xmm6
lea rdx, [rbp + 0xf0]
lea rcx, [rbp + 0x40]
call fcn.140002690
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140063460
nop
movzx edx, byte [rax]
movzx ecx, byte [rsp + 0x60]
mov byte [rax], cl
mov byte [rsp + 0x60], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rsp + 0x68]
mov qword [rax + 8], rdx
mov qword [rsp + 0x68], rcx
movzx edx, byte [rsp + 0x60]
lea rcx, [rsp + 0x68]
call fcn.140064f40
nop
jmp 0x140062314
lea rax, [rbp + 0x70]
mov qword [rsp + 0x70], rax
lea r8, [rbp + 0xf0]
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140050e70
mov rdi, qword [rax]
cmp byte [rdi + 0x38], 0
jne 0x14006296e
xorps xmm0, xmm0
movups xmmword [rbp + 0x70], xmm0
xor eax, eax
mov qword [rbp + 0x78], rax
movsxd rdi, dword [rdi + 0x30]
movzx edx, byte [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.140064f40
mov byte [rbp + 0x70], 5
mov qword [rbp + 0x78], rdi
lea rdx, [rbp + 0xf0]
lea rcx, [rbp - 0x40]
call fcn.140002690
mov rdx, rax
lea rcx, [rbp + 0x80]
call fcn.140063460
nop
movzx edx, byte [rax]
movzx ecx, byte [rbp + 0x70]
mov byte [rax], cl
mov byte [rbp + 0x70], dl
mov rcx, qword [rax + 8]
mov rdx, qword [rbp + 0x78]
mov qword [rax + 8], rdx
mov qword [rbp + 0x78], rcx
movzx edx, byte [rbp + 0x70]
lea rcx, [rbp + 0x78]
call fcn.140064f40
nop
mov rdx, qword [rbp + 0x108]
cmp rdx, 0xf
jbe 0x140062355
inc rdx
mov rcx, qword [rbp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140062350
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400623ee
call fcn.1400d6924
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
jne 0x140061fc0
mov rcx, qword [rsi + 0x10]
mov rax, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140062375
mov rax, qword [rsi]
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rcx
call fcn.1400d5d90
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x70], xmm0
lea r8, [rbp + 0x70]
mov edx, eax
lea rcx, [rbp - 0x80]
call fcn.140059e30
nop
lea rdx, [r14 + 0x40]
lea r8, [rbp - 0x80]
lea rcx, [rbp + 0x90]
call fcn.14005a2e0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 7
jbe 0x1400623fa
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400623f5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1400623f5
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 fcn.1400d6924
xor edi, edi
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x68], 7
mov word [rbp - 0x80], di
lea rdx, [rbp + 0x90]
lea rcx, [rbp - 0x60]
call fcn.14005af00
movsd xmm0, qword [rax]
movsd qword [rsp + 0x70], xmm0
mov ecx, dword [rax + 8]
mov dword [rbp + 0x70], ecx
lea rax, [0x14016fee0]
mov qword [rbp + 0x78], rax
movaps xmm0, xmmword [rbp + 0x70]
movdqa xmmword [rbp + 0x70], xmm0
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x14006247c
cmp eax, 1
setne al
test al, al
je 0x140062484
lea rcx, [rbp + 0x90]
cmp qword [rbp + 0xa8], 7
cmova rcx, qword [rbp + 0x90]
call fcn.1400d65ac
shr rax, 0x20
test eax, eax
jne 0x140062934
jmp 0x140062484
test ecx, ecx
jne 0x14006291c
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x120]
call sub.VCRUNTIME140.dll_memset
lea rdx, [rbp + 0x90]
lea rcx, [rbp + 0x120]
call fcn.1400659c0
nop
cmp qword [rbp + 0x1a8], 0
jne 0x140062600
mov rax, qword [rbp + 0x120]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x120], rax
mov rax, qword [rbp + 0x120]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x11c], edx
lea rcx, [rbp + 0x128]
call fcn.14005bf50
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x1c8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 7
jbe 0x140062559
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140062554
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140062824
call fcn.1400d6924
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], 7
mov word [rbp + 0x90], di
movzx edx, byte [rbp + 0x80]
lea rcx, [rbp + 0x88]
call fcn.140064f40
nop
cmp r13, 0xf
jbe 0x1400625bf
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x1400625b6
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140062889
mov rcx, r12
call fcn.1400d6924
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x1400625f9
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x1400625f4
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140062915
mov rcx, r8
call fcn.1400d6924
xor al, al
jmp 0x1400628d1
lea rdx, [rbp + 0xd0]
lea rcx, [rbp + 0x80]
call fcn.140063580
nop
lea rdx, [rbp + 0xd0]
cmp qword [rbp + 0xe8], 0xf
cmova rdx, qword [rbp + 0xd0]
mov r8, qword [rbp + 0xe0]
lea rcx, [rbp + 0x120]
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__::write_char_const____ptr64__long_long___int64_____ptr64]
lea rcx, [rbp + 0x128]
call fcn.14005c2a0
test rax, rax
jne 0x140062672
mov rax, qword [rbp + 0x120]
movsxd rcx, dword [rax + 4]
lea rax, [rbp + 0x120]
add rcx, rax
xor r8d, r8d
lea edx, [r8 + 2]
call qword [sym.imp.MSVCP140.dll_public:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::setstate_int__bool____ptr64]
mov r8, qword [rsi + 0x10]
mov rdx, rsi
cmp qword [rsi + 0x18], 0xf
jbe 0x140062683
mov rdx, qword [rsi]
movabs r9, 0xcbf29ce484222325
mov rcx, rdi
test r8, r8
je 0x1400626b3
movabs r10, 0x100000001b3
nop
movzx eax, byte [rcx + rdx]
xor r9, rax
imul r9, r10
inc rcx
cmp rcx, r8
jb 0x1400626a0
mov r8, rsi
lea rdx, [rbp - 0x80]
lea rcx, [r14 + 0x60]
call fcn.140051750
mov rcx, qword [rax + 8]
test rcx, rcx
je 0x1400626d2
cmp rcx, qword [r14 + 0x68]
jne 0x1400626e9
mov r8, rsi
lea rdx, [rbp - 0x50]
lea rcx, [r14 + 0x60]
call fcn.140065fb0
mov rcx, qword [rax]
mov byte [rcx + 0x30], 1
mov rbx, qword [0x140171620]
test rbx, rbx
jne 0x140062712
lea ecx, [rbx + 0x18]
call fcn.1400d68e0
mov rbx, rax
mov qword [rax + 0x10], rdi
mov qword [rax], rdi
mov qword [rax + 8], rdi
mov qword [0x140171620], rax
mov rdx, rsi
lea rcx, [rbp - 0x40]
call fcn.140002690
mov r8, rax
lea rdx, str.Saved_cfg___s__n
mov rcx, rbx
call fcn.140065af0
nop
mov rdx, qword [rbp + 0xe8]
cmp rdx, 0xf
jbe 0x140062775
inc rdx
mov rcx, qword [rbp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140062770
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140062770
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d6924
mov qword [rbp + 0xe0], rdi
mov qword [rbp + 0xe8], reloc.WS2_32.dll_ntohs
mov byte [rbp + 0xd0], 0
mov rax, qword [rbp + 0x120]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_ofstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx + 0x120], rax
mov rax, qword [rbp + 0x120]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xa8]
mov dword [rbp + rcx + 0x11c], edx
lea rcx, [rbp + 0x128]
call fcn.14005bf50
lea rcx, [rbp + 0x130]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ostream_char__struct_std::char_traits_char__::destructor_void____ptr64]
lea rcx, [rbp + 0x1c8]
call qword [sym.imp.MSVCP140.dll_public_virtual:_void___cdecl_std::basic_ios_char__struct_std::char_traits_char__::destructor_void____ptr64]
nop
mov rdx, qword [rbp + 0xa8]
cmp rdx, 7
jbe 0x140062830
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14006282b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14006282b
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1400d6924
mov qword [rbp + 0xa0], rdi
mov qword [rbp + 0xa8], 7
mov word [rbp + 0x90], di
movzx edx, byte [rbp + 0x80]
lea rcx, [rbp + 0x88]
call fcn.140064f40
nop
cmp r13, 0xf
jbe 0x140062899
lea rdx, [r13 + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140062890
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140062890
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, r12
call fcn.1400d6924
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 0xf
jbe 0x1400628cf
inc rdx
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x1400628ca
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140062915
mov rcx, r8
call fcn.1400d6924
mov al, 1
mov byte [rsi], 0
mov qword [rsi + 0x18], reloc.WS2_32.dll_ntohs
mov qword [rsi + 0x10], rdi
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.1400d68c0
lea r11, [rsp + 0x350]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
lea r8, [rbp + 0x90]
lea rdx, [rbp + 0x70]
lea rcx, str.exists
call fcn.14005aea0
int3
lea r8, [rbp + 0x90]
mov edx, eax
lea rcx, str.remove
call fcn.14005add0
nop
call fcn.140004980
nop
call fcn.14004f0a0
int3
call fcn.14004f0a0
int3
call fcn.14004f0a0
int3
call fcn.140071540
int3
call fcn.140071540
int3
call fcn.14004f0a0
int3
call fcn.140071540
int3
call fcn.140071540
int3