Function at 0x140109110
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0xc8
lea rbp, [rsp + 0x80]
movss dword [rbp + 0x2c], xmm3
mov qword [rbp + 0x30], r8
mov qword [rbp + 0x38], rdx
mov qword [rbp + 0x40], rcx
mov eax, dword [0x1401fa258]
mov ecx, dword [0x1401fa25c]
mov edx, 0x1c241b6a
xor edx, 0x169ce33d
xor ecx, edx
add eax, 0x34ce2786
add eax, ecx
sub eax, 0x34ce2786
mov ecx, 0x26e4a322
xor ecx, 0xd91b5cdd
mov r11d, eax
xor r11d, ecx
xor eax, 0xffffffff
or r11d, eax
mov eax, 0xffffffff
xor eax, 0x6ed46dc9
mov ecx, 0xffffffff
xor ecx, 0x6ed46dc9
or eax, ecx
and r11d, eax
mov eax, 0x603a8611
xor eax, 0x9fc579ee
xor r11d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, 0xa23d0914
xor r8d, 0x6e2ba645
mov eax, 0x98828c54
xor eax, 0x677d73ab
xor r8d, eax
mov edx, 0xffffffff
xor edx, 0xe2bb7e3f
mov eax, ecx
and eax, 0xe2bb7e3f
and r11d, edx
mov r10d, 0x1d9aac9a
xor r10d, 0xff21d2a5
mov r9d, r8d
and r9d, r10d
mov r10d, 0xbd7467be
xor r10d, 0x7162c8ef
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xe2bb7e3f
and ecx, edx
or eax, ecx
mov ecx, 0x4f51c976
xor ecx, 0x5bf2692a
add eax, ecx
cmp eax, 0x297db4d4
jae 0x1401096a7
mov eax, dword [0x1401fa260]
mov ecx, dword [0x1401fa264]
sub eax, ecx
mov edx, eax
not edx
and edx, 0x4b07dcd4
mov ecx, eax
and ecx, 0xb4f8232b
imul ecx, edx
mov edx, eax
and edx, 0x4b07dcd4
or eax, 0x4b07dcd4
imul eax, edx
add eax, ecx
and eax, 0xbace8cb0
add eax, 0x1e6e3cd5
mov dword [rbp + 0x1c], eax
mov eax, 0x52e437f9
mov dword [rbp + 0x18], eax
mov eax, 0x10
mov qword [rbp - 0x10], rax
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp + 8], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x20], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 0x18], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, qword [rbp - 0x10]
mov rcx, rsp
mov qword [rbp - 8], rcx
call fcn.1401f2390
sub rsp, rax
mov rax, rsp
mov qword [rbp], rax
sub rsp, 0x20
call fcn.1401088d0
mov rcx, qword [rbp + 8]
add rsp, 0x20
mov qword [rbp + 0x10], rax
mov ax, 0xfa65
xor ax, 0xf8d8
mov word [rcx], ax
sub rsp, 0x20
call fcn.1400613a0
mov rdx, qword [rbp + 0x10]
mov ecx, dword [rbp + 0x18]
add rsp, 0x20
mov r8, rax
mov eax, dword [rbp + 0x1c]
mov qword [rbp + 0x20], r8
cmp byte [rdx], 0
sete dl
mov byte [rbp + 0x2b], dl
cmp eax, ecx
jae 0x14010921e
mov dl, byte [rbp + 0x2b]
mov cl, 1
xor eax, eax
test dl, 1
mov byte [rbp - 0x31], cl
mov rcx, rax
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jne 0x14010933e
jmp 0x140109516
movss xmm3, dword [rbp + 0x2c]
mov r8, qword [rbp - 8]
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x20]
mov rax, qword [rbp + 0x38]
mov r9, qword [rbp + 0x20]
mov r10, qword [rbp + 0x40]
mov r11, qword [r10]
mov qword [rcx], r11
mov r10, qword [r10 + 8]
mov qword [rcx + 8], r10
mov r10, qword [r9]
mov qword [rdx], r10
mov r9, qword [r9 + 8]
mov qword [rdx + 8], r9
mov r9, qword [rax]
mov qword [r8], r9
mov rax, qword [rax + 8]
mov qword [r8 + 8], rax
sub rsp, 0x20
call fcn.140108680
mov r8, qword [rbp + 0x10]
add rsp, 0x20
mov rcx, rax
mov qword [rbp - 0x40], rcx
mov dl, 1
xor eax, eax
cmp byte [r8], 0
mov byte [rbp - 0x31], dl
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jne 0x140109516
mov eax, dword [0x1401fa268]
sub eax, dword [0x1401fa26c]
and eax, 0x1554f5ab
xor eax, 0xffffffff
mov edx, 0xc4a0727c
xor edx, 0x3b32ae7a
mov ecx, 0xdb1ca561
xor ecx, 0x24e35a9e
xor edx, ecx
mov ecx, 0xcdb6d15f
xor ecx, 0x56cbb980
mov r8d, 0x66ecbc87
xor r8d, 0x99134378
xor ecx, r8d
or eax, edx
or ecx, 0x9b7d68df
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0xe3444a60
xor ecx, 0xba68ef65
sub eax, ecx
cmp eax, 0x866a64bf
je 0x1401096b0
mov rcx, qword [rbp - 0x40]
mov eax, dword [0x1401fa270]
or eax, dword [0x1401fa274]
mov r8d, 0x2fbfee65
xor edx, edx
div r8d
mov r8d, 0x45ebb6a3
xor edx, edx
div r8d
mov rdx, qword [rbp]
mov r8d, eax
mov rax, qword [rbp + 0x30]
mov r11d, 0xe356f2d8
xor r11d, 0x5b77ddc3
mov r9d, 0xed109278
xor r9d, 0x12ef6d87
xor r11d, r9d
mov r10d, r8d
and r10d, r11d
mov r9d, r8d
or r9d, r11d
xor r9d, 0xffffffff
imul r9d, r10d
mov r11d, 0x2cfe4297
xor r11d, 0x94df6d8c
mov r10d, r8d
and r10d, r11d
or r8d, 0xb8212f1b
imul r8d, r10d
add r8d, r9d
mov dword [rbp - 0x54], r8d
add rcx, 0xa8
mov r8, qword [rax]
mov qword [rdx], r8
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140014ce0
mov rcx, qword [rbp + 0x30]
call fcn.140011315
mov rcx, qword [rbp - 0x40]
call fcn.1401089f0
mov rcx, qword [rbp + 0x10]
add rsp, 0x20
mov rdx, rax
mov eax, dword [rbp - 0x54]
mov qword [rbp - 0x50], rdx
mov cl, byte [rcx]
mov byte [rbp - 0x41], cl
cmp eax, 0xc93956a4
je 0x1401096b0
mov rax, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x40]
mov dl, byte [rbp - 0x41]
mov byte [rbp - 0x31], dl
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rax
jmp 0x140109516
mov rax, qword [rbp + 0x30]
mov rcx, qword [rbp + 0x10]
mov dl, byte [rbp - 0x31]
mov r8, qword [rbp - 0x30]
mov r9, qword [rbp - 0x28]
mov qword [rbp - 0x78], r9
mov qword [rbp - 0x70], r8
mov byte [rbp - 0x61], dl
mov dl, 0x46
xor dl, 0x46
mov byte [rcx], dl
mov rax, qword [rax + 8]
mov qword [rbp - 0x60], rax
cmp rax, 0
je 0x140109675
mov eax, dword [0x1401fa278]
and eax, dword [0x1401fa27c]
mov ecx, 0x11bb5dad
xor ecx, 0xdb273fe7
add eax, ecx
mov ecx, 0x70bf13ea
xor edx, edx
div ecx
mov ecx, 0xb232303a
xor edx, edx
div ecx
cmp eax, 0xc23c3e22
je 0x1401096b9
mov rcx, qword [rbp - 0x60]
mov esi, dword [0x1401fa280]
mov edx, dword [0x1401fa284]
mov eax, esi
xor eax, edx
xor eax, 0xffffffff
or esi, edx
and esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x390de736
mov r8d, 0xffffffff
xor r8d, 0x227e6317
mov eax, edx
and eax, 0x227e6317
and esi, r8d
mov r10d, r9d
and r10d, 0x227e6317
mov r11d, r8d
and r11d, 0x390de736
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
mov r9d, 0x59645950
xor r9d, 0xa69ba6af
xor edx, r9d
or r8d, 0x227e6317
and edx, r8d
or eax, edx
sub eax, 0xc2bb9651
add eax, 0xe129992b
mov rcx, qword [rcx]
movabs rdx, 0xc206451ecf9d59d0
movabs r8, 0x8206451ecf9d59d0
xor rdx, r8
and rcx, rdx
movabs rdx, 0x813c7edbeeeb2147
movabs r8, 0x813c7edbeeeb2147
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x79], cl
cmp eax, 0x504a7959
jb 0x1401096b9
mov al, byte [rbp - 0x79]
test al, 1
jne 0x140109664
jmp 0x140109675
mov rcx, qword [rbp - 0x60]
sub rsp, 0x20
call fcn.14000f935
add rsp, 0x20
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.1400fe257
mov rax, qword [rbp + 0x10]
add rsp, 0x20
cmp byte [rax], 0
jne 0x14010969c
mov rax, qword [rbp + 0x10]
mov cl, byte [rbp - 0x61]
mov byte [rax], cl
mov rax, qword [rbp - 0x78]
lea rsp, [rbp + 0x48]
pop rsi
pop rbp
ret
xlatb
push rsi
nop
ret 0x6ee9
invalid
or byte [rsi - 0x3e1635bc], cl
invalid