Function at 0x14059c990
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
lea rbp, [rax - 0x18]
sub rsp, 0x110
movaps xmmword [rax - 0x18], xmm6
movaps xmmword [rax - 0x28], xmm7
movaps xmmword [rax - 0x38], xmm8
mov rax, qword [0x1405ff010]
xor rax, rsp
mov qword [rbp - 0x30], rax
xor esi, esi
cmp byte [0x1405ff050], 1
jne 0x14059d309
mov rcx, qword [0x140ad85d0]
mov eax, dword [rcx + 0x40f0]
or eax, 2
mov dword [rcx + 0x40f0], eax
movsd xmm0, qword [0x140ad7aa0]
movsd qword [rcx + 0x4114], xmm0
mov dword [rcx + 0x40f8], 2
or eax, 0x40
mov dword [rcx + 0x40f0], eax
mov dword [rcx + 0x4150], 0x3f800000
movups xmm0, xmmword [0x1405ef020]
movups xmmword [rsp + 0x60], xmm0
movups xmm1, xmmword [0x1405ef030]
movups xmmword [rsp + 0x70], xmm1
movups xmm0, xmmword [0x1405ef040]
movups xmmword [rbp - 0x80], xmm0
movups xmm1, xmmword [0x1405ef050]
movups xmmword [rbp - 0x70], xmm1
movsd xmm0, qword [0x1405ef060]
movsd qword [rbp - 0x60], xmm0
movzx eax, byte [0x1405ef068]
mov byte [rbp - 0x58], al
mov r8d, esi
cmp dword [0x1405ff018], 2
jl 0x14059cbbf
movdqa xmm5, xmmword [0x1405f4630]
movdqa xmm4, xmmword [0x1405f4960]
mov eax, 5
movd xmm6, eax
movdqa xmm7, xmmword [str.3333]
mov eax, 0x1f
movd xmm8, eax
movdqa xmm0, xmmword [str.7777777777777777]
movdqa xmmword [rbp - 0x40], xmm0
lea rcx, [rsp + 0x64]
mov edx, dword [rbp - 0x40]
nop dword [rax]
movd xmm2, r8d
pshufd xmm2, xmm2, 0
paddd xmm2, xmm5
movdqa xmm1, xmm2
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm2
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1405f4660]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx - 4]
pxor xmm2, xmm0
movd dword [rcx - 4], xmm2
lea eax, [r8 + 4]
movd xmm3, eax
pshufd xmm3, xmm3, 0
paddd xmm3, xmm5
movdqa xmm1, xmm3
punpckldq xmm1, xmm3
pmuldq xmm1, xmm4
movdqa xmm0, xmm3
punpckhdq xmm0, xmm3
pmuldq xmm0, xmm4
shufps xmm1, xmm0, 0xdd
paddd xmm1, xmm3
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm3, xmm0
pshuflw xmm0, xmm3, 0xd8
pshufhw xmm1, xmm0, 0xd8
pshufd xmm2, xmm1, 0xd8
pand xmm2, xmmword [0x1405f4660]
packuswb xmm2, xmm2
movd xmm0, edx
paddb xmm2, xmm0
movd xmm0, dword [rcx]
pxor xmm2, xmm0
movd dword [rcx], xmm2
add r8d, 8
lea rcx, [rcx + 8]
cmp r8d, 0x48
jl 0x14059cab0
cmp r8d, 0x49
jge 0x14059cc03
movsxd rax, r8d
lea r9, [rsp + 0x60]
add r9, rax
nop word [rax + rax]
mov eax, 0xa0a0a0a1
imul r8d
add edx, r8d
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
movsx eax, dl
imul ecx, eax, 0x33
movzx eax, r8b
sub al, cl
add al, 0x37
xor byte [r9], al
inc r8d
lea r9, [r9 + 1]
cmp r8d, 0x49
jl 0x14059cbd0
mov r8d, 0x22
lea rdx, [0x1405ff050]
lea rcx, [rsp + 0x60]
call fcn.1405ad350
mov rdi, qword [0x140ad8648]
lea rbx, [0x140ad8638]
cmp qword [0x140ad8650], 0x10
cmovae rbx, qword [0x140ad8638]
call fcn.1405eb378
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], rdi
lea r8, [rbp - 0x40]
mov edx, eax
lea rcx, [rsp + 0x40]
call fcn.140599660
nop
lea rcx, [rsp + 0x40]
call fcn.14059a2b0
movzx ebx, al
mov rdx, qword [rsp + 0x58]
cmp rdx, 8
jb 0x14059cca8
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14059cca3
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14059cca3
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1405ebde4
test bl, bl
jne 0x14059cd5d
lea rcx, str.Please_put_the_path_of_your_Sea_of_Thieves_game_like_this:__nC:Program_Files__x86_Steam_steamappscommonSea_of_Thieves
call fcn.1405dc130
mov qword [rbp - 0x40], 0
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x100
lea r8, [0x140ad86a0]
xor edx, edx
lea rcx, str.SotPath
call fcn.1405e1fd0
mov rcx, qword [0x140ad85d0]
mov rax, qword [rcx + 0x3fe0]
mov byte [rax + 0xcd], 1
mov rax, qword [rcx + 0x3fe0]
cmp byte [rax + 0xd0], bl
jne 0x14059cd33
mov qword [rbp - 0x40], 0
movss xmm1, dword [0x1405f4590]
lea rcx, [rbp - 0x40]
call fcn.1405b14f0
mov qword [rbp - 0x40], 0
lea rdx, [rbp - 0x40]
lea rcx, str.Send
call fcn.1405dc9d0
test al, al
je 0x14059d304
call fcn.14059a8f0
jmp 0x14059d304
movaps xmm0, xmmword [0x1405f4920]
movups xmmword [rbp - 0x40], xmm0
lea rdx, str.Very_Important_:__the_fovs_of_the_weapons_will_depend__non_the_fov_played_fov_so_please_put_the_fov_you_use_in_game.
lea rcx, [rbp - 0x40]
call fcn.1405dc230
mov rcx, qword [0x140ad85d0]
mov rax, qword [rcx + 0x3fe0]
mov byte [rax + 0xcd], 1
mov rax, qword [rcx + 0x3fe0]
movss xmm6, dword [0x1405f4590]
cmp byte [rax + 0xd0], 0
jne 0x14059cdb9
mov qword [rbp - 0x40], 0
movaps xmm1, xmm6
lea rcx, [rbp - 0x40]
call fcn.1405b14f0
mov dword [rbp - 0x50], 0x43200000
mov dword [rbp - 0x40], 0x42700000
lea rax, [rbp - 0x50]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x40]
lea r8, [0x140ad7ae0]
lea rcx, str.Played_Fov
call fcn.1405df770
mov dword [rbp - 0x40], 0x43200000
mov dword [rbp - 0x50], 0x42700000
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
lea r8, [0x1405ff044]
lea rcx, str.Sprint_Fov
call fcn.1405df770
mov dword [rbp - 0x40], 0x43200000
mov dword [rbp - 0x50], 0x42700000
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
lea r8, [0x140ad7ac0]
lea rcx, str.Blunderbuss_Fov
call fcn.1405df770
mov dword [rbp - 0x40], 0x43200000
mov dword [rbp - 0x50], 0x42700000
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
lea r8, [0x140ad7ae4]
lea rcx, str.Sniper_Fov
call fcn.1405df770
mov dword [rbp - 0x40], 0x43200000
mov dword [rbp - 0x50], 0x42700000
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
lea r8, [0x140ad7ac4]
lea rcx, str.Pistol_Fov
call fcn.1405df770
mov dword [rbp - 0x40], 0x43200000
mov dword [rbp - 0x50], 0x42700000
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
lea r8, [0x140ad7ac8]
lea rcx, str.Cannon_Fov
call fcn.1405df770
mov dword [rbp - 0x40], 0x43200000
mov dword [rbp - 0x50], 0x42700000
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
lea r8, [0x140ad7aa8]
lea rcx, str.Map_Fov
call fcn.1405df770
mov dword [rbp - 0x40], 0x43200000
mov dword [rbp - 0x50], 0x42700000
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x50]
lea r8, [0x140ad7ae8]
lea rcx, str.Wheel_Fov
call fcn.1405df770
mov rcx, qword [0x140ad85d0]
mov rax, qword [rcx + 0x3fe0]
mov byte [rax + 0xcd], 1
mov rax, qword [rcx + 0x3fe0]
cmp byte [rax + 0xd0], 0
jne 0x14059cf62
mov qword [rbp - 0x40], 0
movaps xmm1, xmm6
lea rcx, [rbp - 0x40]
call fcn.1405b14f0
movaps xmm0, xmmword [0x1405f4930]
movups xmmword [rbp - 0x40], xmm0
lea rdx, str.Please_be_careful_not_to_have_any_other_pak__nin_the_Sot_files_that_modifies_the_fov
lea rcx, [rbp - 0x40]
call fcn.1405dc230
mov qword [rbp - 0x40], 0
lea rdx, [rbp - 0x40]
lea rcx, str.Create_Fov_Pak
call fcn.1405dc9d0
test al, al
je 0x14059d014
call fcn.14059b940
mov rbx, qword [0x140ad85d0]
xor edx, edx
test al, al
mov rax, qword [rbx + 0x3fe0]
movsxd rcx, dword [rax + 0x108]
mov rax, qword [rax + 0x110]
mov r8d, dword [rax + rcx*4 - 4]
je 0x14059cfe4
lea rcx, str.PakCreated
call fcn.1405a16b0
mov edi, eax
cmp dword [rbx + 0x401c], eax
jne 0x14059d00d
lea r8, str.PakCreated
jmp 0x14059d001
lea rcx, str.Error
call fcn.1405a16b0
mov edi, eax
cmp dword [rbx + 0x401c], eax
jne 0x14059d00d
lea r8, str.Error
mov edx, 0xb
mov ecx, edi
call fcn.1405c3ec0
mov ecx, edi
call fcn.1405b2850
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.1405b1800
mov qword [rbp - 0x40], 0
lea rdx, [rbp - 0x40]
lea rcx, str.Reset_Sea_of_Thieves_path
call fcn.1405dc9d0
test al, al
je 0x14059d040
call fcn.14059abd0
movaps xmm1, xmm6
xorps xmm0, xmm0
call fcn.1405b1800
mov qword [rbp - 0x40], 0
lea rdx, [rbp - 0x40]
lea rcx, str.Delete_Fov
call fcn.1405dc9d0
test al, al
je 0x14059d0e2
call fcn.14059b180
mov rbx, qword [0x140ad85d0]
xor edx, edx
test al, al
mov rax, qword [rbx + 0x3fe0]
movsxd rcx, dword [rax + 0x108]
mov rax, qword [rax + 0x110]
mov r8d, dword [rax + rcx*4 - 4]
je 0x14059d0b2
lea rcx, str.PakDeleted
call fcn.1405a16b0
mov edi, eax
cmp dword [rbx + 0x401c], eax
jne 0x14059d0db
lea r8, str.PakDeleted
jmp 0x14059d0cf
lea rcx, str.Error
call fcn.1405a16b0
mov edi, eax
cmp dword [rbx + 0x401c], eax
jne 0x14059d0db
lea r8, str.Error
mov edx, 0xb
mov ecx, edi
call fcn.1405c3ec0
mov ecx, edi
call fcn.1405b2850
lea rcx, str.PakCreated
call fcn.1405b2f00
test al, al
je 0x14059d198
lea rcx, str._nSuccess_Pak_Created__n_n
call fcn.1405dc130
mov rax, qword [0x140ad85d0]
mov rcx, qword [rax + 0x3fe0]
cmp byte [rcx + 0xd0], 0
jne 0x14059d12b
mov eax, dword [rcx + 0x1d4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1405de190
mov qword [rbp - 0x40], 0x432a0000
lea rdx, [rbp - 0x40]
lea rcx, [0x1405eee78]
call fcn.1405dc9d0
test al, al
je 0x14059d14c
call fcn.1405b2ca0
mov rbx, qword [0x140ad85d0]
mov rax, qword [rbx + 0x3fe0]
cmp qword [rbx + 0x4268], rax
jne 0x14059d17c
cmp byte [rbx + 0x42c5], 0
je 0x14059d17c
cmp dword [rbx + 0x42a4], 0
jne 0x14059d17c
or dword [rbx + 0x42c8], 2
test dword [rax + 0xc], 0x1000000
je 0x14059d18c
mov byte [rbx + 0x3f72], 1
call fcn.1405b0020
mov byte [rbx + 0x3f72], 0
lea rcx, str.Error
call fcn.1405b2f00
test al, al
je 0x14059d24e
lea rcx, str._nx__There_was_an_error__check_if_Sot_is_closed_n_n
call fcn.1405dc130
mov rax, qword [0x140ad85d0]
mov rcx, qword [rax + 0x3fe0]
cmp byte [rcx + 0xd0], 0
jne 0x14059d1e1
mov eax, dword [rcx + 0x1d4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1405de190
mov qword [rbp - 0x40], 0x432a0000
lea rdx, [rbp - 0x40]
lea rcx, [0x1405eee78]
call fcn.1405dc9d0
test al, al
je 0x14059d202
call fcn.1405b2ca0
mov rbx, qword [0x140ad85d0]
mov rax, qword [rbx + 0x3fe0]
cmp qword [rbx + 0x4268], rax
jne 0x14059d232
cmp byte [rbx + 0x42c5], 0
je 0x14059d232
cmp dword [rbx + 0x42a4], 0
jne 0x14059d232
or dword [rbx + 0x42c8], 2
test dword [rax + 0xc], 0x1000000
je 0x14059d242
mov byte [rbx + 0x3f72], 1
call fcn.1405b0020
mov byte [rbx + 0x3f72], 0
lea rcx, str.PakDeleted
call fcn.1405b2f00
test al, al
je 0x14059d304
lea rcx, str._nPak_Deleted_n_n
call fcn.1405dc130
mov rax, qword [0x140ad85d0]
mov rdx, qword [rax + 0x3fe0]
cmp byte [rdx + 0xd0], 0
jne 0x14059d297
mov eax, dword [rdx + 0x1d4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.1405de190
mov qword [rbp - 0x40], 0x432a0000
lea rdx, [rbp - 0x40]
lea rcx, [0x1405eee78]
call fcn.1405dc9d0
test al, al
je 0x14059d2b8
call fcn.1405b2ca0
mov rbx, qword [0x140ad85d0]
mov rax, qword [rbx + 0x3fe0]
cmp qword [rbx + 0x4268], rax
jne 0x14059d2e8
cmp byte [rbx + 0x42c5], 0
je 0x14059d2e8
cmp dword [rbx + 0x42a4], 0
jne 0x14059d2e8
or dword [rbx + 0x42c8], 2
test dword [rax + 0xc], 0x1000000
je 0x14059d2f8
mov byte [rbx + 0x3f72], 1
call fcn.1405b0020
mov byte [rbx + 0x3f72], 0
call fcn.1405b0020
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.1405ebb30
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x10]
mov rsi, qword [r11 + 0x18]
mov rdi, qword [r11 + 0x20]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop rbp
ret