Function at 0x140102fd0
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x140
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x18], rdx
mov qword [rbp + 0x20], rcx
mov eax, 0x10
mov qword [rbp + 0x30], rax
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x28], rcx
call fcn.140215890
sub rsp, rax
mov rax, qword [rbp + 0x30]
mov rcx, rsp
mov qword [rbp + 0x38], rcx
call fcn.140215890
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0x40], rax
sub rsp, 0x20
call fcn.1400ee855
add rsp, 0x20
mov qword [rbp + 0x48], rax
mov ecx, 0x33fb
mov edx, 0xc2ea
sub rsp, 0x20
call fcn.14007115e
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x48]
mov word [rbp + 0x56], cx
cmp byte [rax], 0
jne 0x14010371b
mov rcx, qword [rbp + 0x18]
mov ax, word [rbp + 0x56]
mov dl, al
sub rsp, 0x20
call fcn.1400f07bc
mov rcx, qword [rbp + 0x20]
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov rcx, qword [rcx]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp + 0x17], al
or al, cl
test al, 1
jne 0x140103365
mov ecx, 0xa597
mov edx, 0x54c7
sub rsp, 0x20
call fcn.14007115e
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp + 0x15], dl
cmp cl, 0
mov byte [rbp + 0x16], al
je 0x1401030d0
mov al, byte [rbp + 0x15]
mov cl, byte [rbp + 0x16]
mov byte [rbp + 0x14], cl
test al, 1
jne 0x1401030e6
jmp 0x14010333f
mov rcx, qword [rbp + 0x38]
mov rax, qword [rbp + 0x28]
mov qword [rax], 0
mov rdx, rax
add rdx, 8
mov qword [rbp], rdx
mov qword [rax + 8], 0
mov ax, 0xf9e8
xor ax, 0xfb4d
mov word [rcx], ax
sub rsp, 0x20
call fcn.14006cf90
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp + 8], rcx
mov al, byte [rax]
mov cl, 0xa4
xor cl, 0xa4
cmp al, cl
jne 0x14010333f
mov rcx, qword [rbp + 0x28]
mov rax, qword [rbp + 8]
mov rdx, qword [rax]
add rdx, 1
sub rsp, 0x20
call fcn.14001efd0
mov rax, qword [rbp + 8]
mov rcx, qword [rbp + 0x28]
add rsp, 0x20
mov rdx, qword [rax]
mov qword [rbp + 0xb0], rdx
mov rax, qword [rax + 8]
mov qword [rbp + 0xb8], rax
lea rdx, [rbp + 0xb0]
sub rsp, 0x20
call fcn.1400fbff0
mov dl, byte [rbp + 0x14]
mov rcx, qword [rbp + 0x28]
call fcn.1401002a0
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp]
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rdx]
mov qword [rbp - 0x18], rdx
mov rax, qword [rax]
mov qword [rbp - 0x10], rax
sub rsp, 0x20
call fcn.14001f2a0
mov rdx, qword [rbp - 0x18]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x10]
add rsp, 0x20
mov qword [rbp + 0xa0], rdx
mov qword [rbp + 0xa8], rax
lea rdx, [rbp + 0xa0]
sub rsp, 0x20
call fcn.1400fbff0
mov rax, qword [rbp + 0x20]
mov rdx, qword [rbp + 0x18]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x90], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x98], rax
lea rcx, [rbp + 0x90]
sub rsp, 0x20
call fcn.140101030
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp - 0x10]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 3], al
cmp al, 0
sete dl
mov byte [rbp - 2], dl
cmp rcx, 0
mov byte [rbp - 1], al
je 0x140103344
mov eax, dword [0x14021db00]
xor eax, 0x8de9e31c
mov ecx, dword [0x14021db04]
mov edx, 0x825a66c5
xor edx, 0x6758952a
xor ecx, edx
and eax, ecx
mov ecx, 0xf0a9309d
xor ecx, 0x5545a891
xor eax, ecx
mov edx, 0xaa604a7d
xor edx, 0x552097a
mov ecx, 0x87dbf821
xor ecx, 0x782407de
xor edx, ecx
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, 0xaf324307
add eax, edx
sub eax, ecx
mov ecx, 0x9a1c7a54
xor ecx, 0x180505cb
or eax, ecx
mov ecx, 0x6fe44409
xor ecx, 0x1d208966
cmp eax, ecx
jb 0x140103724
mov r8, qword [rbp - 0x10]
mov eax, dword [0x14021db08]
xor edx, edx
div dword [0x14021db0c]
mov ecx, 0x84fcfb32
xor ecx, 0x2dda55ef
xor edx, edx
div ecx
xor eax, 0x31c2f8d1
mov ecx, 0x13e2587f
xor edx, edx
div ecx
mov ecx, 0xd5f4eeb
xor ecx, 0x9893d24f
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
cmp rdx, 0
sete dl
mov byte [rbp - 0x19], dl
cmp eax, ecx
je 0x1401032b0
mov al, byte [rbp - 3]
mov cl, byte [rbp - 0x19]
test cl, 1
mov byte [rbp - 1], al
jne 0x140103320
jmp 0x140103344
mov rcx, qword [rbp - 0x10]
sub rsp, 0x20
call fcn.140010918
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov al, byte [rax]
mov byte [rbp - 1], al
jmp 0x140103344
jmp 0x14010371b
mov al, byte [rbp - 2]
mov cl, byte [rbp - 1]
and al, 1
movzx eax, al
mov dl, 0x8e
xor dl, 0x8e
cmp cl, dl
mov qword [rbp - 0x28], rax
je 0x140103377
jmp 0x14010371b
mov cl, byte [rbp + 0x17]
xor eax, eax
test cl, 1
mov qword [rbp - 0x28], rax
jne 0x14010371b
mov rax, qword [rbp + 0x48]
mov rcx, qword [rbp + 0x20]
mov rdx, qword [rbp - 0x28]
mov qword [rbp - 0x40], rdx
mov rdx, rcx
add rdx, 0x10
mov qword [rbp - 0x38], rdx
mov rcx, qword [rcx + 0x10]
test rcx, rcx
sete cl
mov al, byte [rax]
test al, al
setne al
mov byte [rbp - 0x29], al
or al, cl
test al, 1
jne 0x1401036c0
mov rax, qword [rbp - 0x40]
movabs rcx, 0x56346980b4b3b1fb
movabs rdx, 0x56346980b4b3b1fb
xor rcx, rdx
cmp rax, rcx
je 0x140103424
mov cx, 0x368
xor cx, 0x8056
mov dx, 0x9828
xor dx, 0xea50
sub rsp, 0x20
call fcn.14007115e
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x48]
mov word [rbp - 0x42], cx
mov al, byte [rax]
mov cl, 0xdf
xor cl, 0xdf
cmp al, cl
jne 0x1401036a8
mov rcx, qword [rbp + 0x18]
mov ax, word [rbp - 0x42]
mov dl, al
sub rsp, 0x20
call fcn.1400f07bc
add rsp, 0x20
mov eax, dword [0x14021db10]
xor edx, edx
div dword [0x14021db14]
mov ecx, 0x3ce285a9
xor ecx, 0xf4727c3b
and eax, ecx
mov ecx, 0xb08051ed
xor ecx, 0xfacc2b1b
imul eax, ecx
mov ecx, 0xa31f0ee4
xor edx, edx
div ecx
mov ecx, 0x3ca691ff
xor ecx, 0x5ce8a2c
cmp eax, ecx
ja 0x14010372d
mov eax, dword [0x14021db18]
xor eax, 0xb18fecfa
mov ecx, dword [str.3_f]
xor ecx, 0x8ec17c2e
xor edx, edx
div ecx
mov ecx, 0xffffffff
xor ecx, 0x12e1e805
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
sub eax, 0x38635b95
mov ecx, 0xbe53b720
xor ecx, 0xc5bd8ca9
imul eax, ecx
mov dword [rbp - 0x4c], eax
mov eax, 0x1f4fe61b
xor eax, 0xbfd73910
mov dword [rbp - 0x48], eax
mov ecx, 0xa597
mov edx, 0x54c7
sub rsp, 0x20
call fcn.14007115e
mov rcx, qword [rbp + 0x48]
add rsp, 0x20
mov cl, byte [rcx]
cmp cl, 0
sete dl
mov byte [rbp - 0x44], dl
cmp cl, 0
mov byte [rbp - 0x43], al
je 0x1401034ed
mov eax, dword [rbp - 0x4c]
mov ecx, dword [rbp - 0x48]
mov dl, byte [rbp - 0x43]
mov byte [rbp - 0x4d], dl
cmp eax, ecx
je 0x140103469
mov al, byte [rbp - 0x44]
test al, 1
jne 0x140103511
jmp 0x1401036a8
mov qword [rbp + 0x80], 0
lea rax, [rbp + 0x80]
add rax, 8
mov qword [rbp - 0x60], rax
mov qword [rbp + 0x88], 0
mov word [rbp + 0x7e], 0x3a
lea rcx, [rbp + 0x7e]
sub rsp, 0x20
call fcn.14006cf90
add rsp, 0x20
mov rcx, rax
mov rax, qword [rbp + 0x48]
mov qword [rbp - 0x58], rcx
cmp byte [rax], 0
jne 0x1401036a8
mov rax, qword [rbp - 0x58]
mov rdx, qword [rax]
add rdx, 1
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.14001efd0
mov rax, qword [rbp - 0x58]
mov rdx, qword [rbp + 0x40]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rdx], rcx
mov rax, qword [rax + 8]
mov qword [rdx + 8], rax
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.1400fbff0
mov dl, byte [rbp - 0x4d]
add rsp, 0x20
lea rcx, [rbp + 0x80]
sub rsp, 0x20
call fcn.1401002a0
mov rax, qword [rbp - 0x60]
mov rcx, qword [rbp + 0x18]
add rsp, 0x20
mov rdx, qword [rbp + 0x80]
mov qword [rbp - 0x70], rdx
mov rax, qword [rax]
mov qword [rbp - 0x68], rax
sub rsp, 0x20
call fcn.14001f2a0
mov rdx, qword [rbp - 0x70]
mov rcx, qword [rbp + 0x18]
mov rax, qword [rbp - 0x68]
add rsp, 0x20
mov qword [rbp + 0x68], rdx
mov qword [rbp + 0x70], rax
lea rdx, [rbp + 0x68]
sub rsp, 0x20
call fcn.1400fbff0
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp + 0x18]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rbp + 0x60], rax
lea rcx, [rbp + 0x58]
sub rsp, 0x20
call fcn.140101ef0
mov rax, qword [rbp - 0x68]
add rsp, 0x20
cmp rax, 0
je 0x1401036ad
mov rax, qword [rbp - 0x68]
mov rax, qword [rax]
mov rcx, rax
add rcx, 1
movabs rdx, 0xc8f1db4da425d40f
movabs r8, 0x370e24b25bda2bf0
xor rdx, r8
xor rax, rdx
movabs rdx, 0x2038ed5025f53a79
movabs r8, 0x6038ed5025f53a79
xor rdx, r8
or rax, rdx
add rax, rcx
cmp rax, 0
jne 0x1401036ad
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.140010918
add rsp, 0x20
jmp 0x1401036ad
jmp 0x14010371b
mov rax, qword [rbp + 0x48]
mov al, byte [rax]
cmp al, 0
je 0x1401036cb
jmp 0x14010371b
mov al, byte [rbp - 0x29]
test al, 1
jne 0x14010371b
mov cx, 0x355c
xor cx, 0x357e
mov dx, 0x48c3
xor dx, 0xb9f6
sub rsp, 0x20
call fcn.14007115e
add rsp, 0x20
mov cx, ax
mov rax, qword [rbp + 0x48]
mov word [rbp - 0x72], cx
mov al, byte [rax]
mov cl, 0x59
xor cl, 0x59
cmp al, cl
jne 0x14010371b
mov rcx, qword [rbp + 0x18]
mov ax, word [rbp - 0x72]
mov dl, al
sub rsp, 0x20
call fcn.1400f07bc
add rsp, 0x20
lea rsp, [rbp + 0xc0]
pop rbp
ret
fisttp dword [rbx - 0x27]
sbb eax, 0xfffb83e9
push qword [rbp - 0x45]
jne 0x1401036ea
in eax, dx
jl 0x14010371b
xor edi, ebp
invalid