Function at 0x140052910
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xd0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x38], r8
mov qword [rbp + 0x40], rdx
mov qword [rbp + 0x48], rcx
mov ecx, dword [str.mG]
xor ecx, 0xf1c18bca
mov edx, dword [0x1401f5624]
xor edx, 0xc1809970
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
mov ecx, 0x63f0df98
xor edx, edx
div ecx
add eax, 0x76e27fd5
mov ecx, 0x4f920d0b
xor edx, edx
div ecx
mov ecx, 0x138080bc
xor ecx, 0x72bfcdb7
cmp eax, ecx
ja 0x140052db8
mov eax, dword [0x1401f5628]
mov ecx, dword [str.__tUr]
xor ecx, 0x38de94bd
and eax, ecx
xor eax, 0x10735ae7
imul eax, eax, 0x861ea94c
xor eax, 0x60ff68ae
mov dword [rbp + 0x24], eax
mov eax, 0x10
mov qword [rbp - 8], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp + 0x10], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 8]
mov rcx, rsp
mov qword [rbp], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp + 8], rax
sub rsp, 0x20
call fcn.140045cde
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x18], rdx
mov rdx, qword [rax]
mov qword [rcx], rdx
mov rax, qword [rax + 8]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140034910
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp + 0x24]
mov qword [rbp + 0x28], rdx
mov cl, byte [rcx]
mov dl, 0x59
xor dl, 0x59
cmp cl, dl
sete cl
mov byte [rbp + 0x37], cl
cmp eax, 0xc121da65
je 0x140052979
mov cl, byte [rbp + 0x37]
xor eax, eax
test cl, 1
mov qword [rbp - 0x10], rax
jne 0x140052a54
jmp 0x140052dac
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x38]
mov rdx, qword [rbp + 0x28]
movabs r9, 0x52ebcadf4ffa28a3
movabs r8, 0x52ebcadf4ffa28a3
xor r9, r8
mov r8d, 0x369a98fb
cmp rdx, r9
cmove rdx, r8
mov qword [rbp - 0x20], rdx
mov qword [rcx], rdx
mov rcx, qword [rax]
mov qword [rbp - 0x18], rcx
mov rax, 0xffffffffffffffff
cmp rcx, 0
mov qword [rbp - 0x10], rax
je 0x140052dac
mov rax, qword [rbp + 0x48]
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x18]
xor edx, edx
sub rdx, 0xffffffffffffffff
sub rcx, rdx
mov rdx, rcx
xor rdx, r8
xor rdx, 0xffffffffffffffff
or rcx, r8
and rcx, rdx
add rax, 8
mov qword [rbp - 0x38], rax
xor eax, eax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
mov rdx, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x30]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x50], rax
mov qword [rbp - 0x48], rcx
test rcx, rcx
setns al
mov rdx, qword [rdx]
mov qword [rbp - 0x40], rdx
sub rcx, rdx
setl cl
and al, cl
test al, 1
jne 0x140052b65
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
movabs rax, 0x6e8d1dea50e2e24
add rdx, rax
movabs rax, 0xf570c47d762d89a1
movabs r8, 0xa8f3b8289d2765e
xor rax, r8
add rdx, rax
movabs rax, 0x6e8d1dea50e2e24
sub rdx, rax
sub rsp, 0x20
call fcn.140013c92
mov rax, qword [rbp - 0x50]
add rsp, 0x20
mov qword [rbp - 0x10], rax
jmp 0x140052dac
mov rcx, qword [rbp - 0x48]
mov rax, qword [rbp - 0x38]
mov rax, qword [rax]
mov qword [rbp - 0x60], rax
add rax, 8
shl rcx, 5
add rax, rcx
mov rax, qword [rax]
mov qword [rbp - 0x58], rax
movabs rcx, 0xf54a3ecaaaf3cb0
movabs rdx, 0xf54a3ecaaaf3cb0
xor rcx, rdx
cmp rax, rcx
je 0x140052d88
mov rax, qword [rbp - 0x58]
mov rcx, qword [rbp + 0x38]
cmp rax, qword [rcx]
jne 0x140052cff
mov eax, dword [0x1401f5630]
mov edx, dword [0x1401f5634]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0xaf3a8185
or eax, edx
or ecx, 0xaf3a8185
xor eax, 0xffffffff
and eax, ecx
imul eax, eax, 0x65e5b406
xor eax, 0xf6116f1e
mov ecx, 0x97406089
xor edx, edx
div ecx
cmp eax, 0xa413e08b
je 0x140052dc1
mov rdx, qword [rbp + 8]
mov rcx, qword [rbp]
mov rax, qword [rbp + 0x40]
mov r9, qword [rbp - 0x48]
mov r8, qword [rbp - 0x60]
mov r11d, dword [0x1401f5638]
mov esi, dword [0x1401f563c]
mov r10d, r11d
and r10d, esi
xor r10d, 0xffffffff
mov edi, 0xd050de20
xor edi, 0x2faf21df
xor r11d, edi
mov edi, 0x639450da
xor edi, 0x9c6baf25
xor esi, edi
or r11d, esi
and r10d, r11d
xor r10d, 0xffffffff
mov esi, 0xffffffff
xor esi, 0xeadfdc99
mov r11d, r10d
and r11d, esi
mov esi, r10d
xor esi, 0xeadfdc99
add r10d, esi
sub r10d, r11d
imul r11d, r10d, 0x6fcaf959
mov esi, 0xffffffff
xor esi, 0x4fc41e2f
mov r10d, r11d
xor r10d, esi
and r10d, r11d
mov dword [rbp - 0x68], r10d
add r8, 8
shl r9, 5
add r8, r9
add r8, 8
mov r9, qword [r8]
mov qword [rcx], r9
mov r8, qword [r8 + 8]
mov qword [rcx + 8], r8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.14005d6e0
add rsp, 0x20
mov cl, al
mov eax, dword [rbp - 0x68]
mov byte [rbp - 0x61], cl
cmp eax, 0xa75960d8
ja 0x140052c00
mov rcx, qword [rbp - 0x48]
mov dl, byte [rbp - 0x61]
xor eax, eax
test dl, 1
mov rdx, rcx
mov qword [rbp - 0x80], rdx
mov qword [rbp - 0x78], rcx
mov byte [rbp - 0x69], al
jne 0x140052d60
jmp 0x140052cff
mov rcx, qword [rbp - 0x48]
mov rdx, qword [rbp - 0x40]
movabs rax, 0x2df6d47dca55a9ae
movabs r8, 0xd2092b8235aa5651
xor rax, r8
add rdx, rax
sub rsp, 0x20
call fcn.140046fed
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, rax
mov rax, qword [rbp - 0x50]
mov r8b, byte [rcx]
mov r9b, 0xde
xor r9b, 0xde
mov cl, 1
cmp r8b, r9b
mov qword [rbp - 0x80], rdx
mov rdx, rax
mov qword [rbp - 0x78], rdx
mov byte [rbp - 0x69], cl
mov qword [rbp - 0x10], rax
jne 0x140052dac
mov rcx, qword [rbp - 0x80]
mov rax, qword [rbp - 0x78]
mov dl, byte [rbp - 0x69]
test dl, 1
mov qword [rbp - 0x30], rcx
mov rcx, rax
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x10], rax
jne 0x140052ade
jmp 0x140052dac
mov rcx, qword [rbp - 0x48]
mov rax, rcx
xor rax, 0xffffffffffffffff
and rax, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rcx, rdx
or rax, rcx
mov qword [rbp - 0x10], rax
mov rax, qword [rbp - 0x10]
lea rsp, [rbp + 0x50]
pop rdi
pop rsi
pop rbp
ret
sub ah, byte [rax + 0x73]
leave
jmp 0x140052979
invalid