Function at 0x14012f8d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp + 8], 0xfffffffffffffffe
mov qword [rbp - 8], rdx
mov qword [rbp], rcx
mov rcx, qword [rbp]
mov r8, qword [rbp - 8]
mov edx, dword [0x14018faac]
mov r10d, dword [0x14018fab0]
mov r9d, edx
not r9d
mov eax, r10d
and eax, r9d
mov r11d, r10d
not r11d
mov r9d, edx
and r9d, r11d
imul r9d, eax
mov eax, edx
and eax, r10d
or edx, r10d
imul edx, eax
mov eax, edx
mov edx, r9d
lea eax, [rax + rdx + 0x3e62c1d1]
mov edx, eax
and edx, 0x64fd2c04
add edx, edx
sub eax, edx
add eax, 0x5ba3120
mov dword [rbp - 0xc], eax
mov eax, 0x10
mov qword [rbp - 0x40], rax
call fcn.14014d730
sub rsp, rax
mov rax, qword [rbp - 0x40]
mov rdx, rsp
mov qword [rbp - 0x38], rdx
call fcn.14014d730
sub rsp, rax
mov rax, rsp
mov qword [rdx], r8
mov qword [rax], rcx
mov rcx, qword [rax]
mov qword [rbp - 0x20], rcx
xor edx, edx
sub rsp, 0x20
call fcn.14014d9c0
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rcx, 8
mov qword [rbp - 0x30], rcx
sub rsp, 0x20
call fcn.140131180
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rcx, 0x18
mov qword [rbp - 0x28], rcx
sub rsp, 0x20
call fcn.140131180
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rcx, 0x28
mov qword [rbp - 0x18], rcx
sub rsp, 0x20
call fcn.14013fbf0
add rsp, 0x20
mov eax, dword [rbp - 0xc]
cmp eax, 0x82a18836
jae 0x14012f8f0
mov ecx, dword [0x14018fab4]
mov eax, dword [0x14018fab8]
add ecx, 0xef79efbf
sub ecx, eax
sub ecx, 0xef79efbf
or ecx, 0x8e65c997
sub ecx, 0xfc8c4eec
mov eax, ecx
xor eax, 0xabf3a93a
and eax, ecx
cmp eax, 0x3ca94fe9
ja 0x14012fc6a
mov rcx, qword [rbp - 0x20]
mov eax, dword [0x14018fabc]
xor edx, edx
div dword [0x14018fac0]
mov edx, eax
mov r8d, edx
xor r8d, 0xffffffff
and r8d, 0x9f275f48
mov eax, edx
and eax, 0x60d8a0b7
imul eax, r8d
mov r8d, edx
and r8d, 0x9f275f48
or edx, 0x9f275f48
imul edx, r8d
add edx, eax
mov eax, edx
xor eax, 0xffffffff
or eax, 0xa0e03002
or edx, 0x5f1fcffd
and eax, edx
xor eax, 0x388349ea
mov dword [rbp - 0x4c], eax
add rcx, 0x38
mov qword [rbp - 0x68], rcx
sub rsp, 0x20
call fcn.140131560
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rcx, 0x48
mov qword [rbp - 0x60], rcx
sub rsp, 0x20
call fcn.14013fc10
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rcx, 0x58
mov qword [rbp - 0x58], rcx
sub rsp, 0x20
call fcn.140131180
mov rcx, qword [rbp - 0x38]
add rsp, 0x20
mov eax, dword [rbp - 0x4c]
mov rcx, qword [rcx]
mov qword [rbp - 0x48], rcx
cmp eax, 0xb98000c6
jae 0x14012fc6a
mov rcx, qword [rbp - 0x48]
mov eax, dword [0x14018facc]
xor edx, edx
div dword [0x14018fad0]
mov r8d, 0xbdca1066
xor edx, edx
div r8d
mov edx, eax
add edx, 0x56117a74
add edx, 0xd792701c
sub edx, 0x56117a74
mov eax, edx
xor eax, 0x264d4638
and eax, edx
cmp rcx, 0
setne cl
mov byte [rbp - 0x69], cl
cmp eax, 0x885ef80
jbe 0x14012fcae
mov al, byte [rbp - 0x69]
test al, 1
jne 0x14012fb3e
jmp 0x14012fbad
mov rcx, qword [rbp - 0x38]
mov eax, dword [str.oT_AmL.v]
and eax, dword [0x14018fae0]
add eax, 0x5db449e
mov edx, eax
xor edx, 0xffffffff
or edx, 0x4a9ca18
or eax, 0xfb5635e7
and edx, eax
mov eax, edx
or eax, 0xf908e3aa
and edx, 0xf908e3aa
xor eax, 0xffffffff
or eax, edx
mov rcx, qword [rcx]
mov qword [rbp - 0x78], rcx
cmp eax, 0x80f2c147
jb 0x14012fcb3
mov rdx, qword [rbp - 0x78]
mov rcx, qword [rbp - 0x20]
sub rsp, 0x20
call fcn.14014dae8
add rsp, 0x20
jmp 0x14012fba3
mov rax, qword [rbp - 0x20]
lea rsp, [rbp + 0x10]
pop rbp
ret
mov eax, dword [0x14018fae4]
mov r8d, dword [0x14018fae8]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
add eax, 0xba993d45
sub eax, 0x80571c55
mov edx, eax
and edx, 0x5c2764f7
mov ecx, eax
or ecx, 0x5c2764f7
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xa3d89b08
or eax, 0xa3d89b08
imul eax, edx
add eax, ecx
cmp eax, 0x4147d680
jbe 0x14012fcb8
mov eax, dword [0x14018faec]
mov edx, dword [0x14018faf0]
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, edx
add eax, ecx
sub eax, 0x630dc850
mov ecx, 0x87f8bb9e
xor edx, edx
div ecx
xor eax, 0x3cbf763d
cmp eax, 0xbce8f6f9
ja 0x14012fc1d
sub rsp, 0x20
lea rcx, str.bad_locale_name
call fcn.14014dfa8
add rsp, 0x20
jmp 0x14012fc6a
mov rcx, qword [rbp - 0x20]
add rcx, 0x38
sub rsp, 0x20
call fcn.14013fbf0
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rcx, 0x48
sub rsp, 0x20
call fcn.140131180
mov rcx, qword [rbp - 0x20]
add rsp, 0x20
add rcx, 0x58
sub rsp, 0x20
call fcn.14013fc10
add rsp, 0x20
jmp 0x14012fa22
jmp 0x14012fadf
jmp 0x14012fb3e
jmp 0x14012fc1d