Function at 0x140062fc0
Capabilities:
Encode data using xor

Disassembly:
push rbp
push rsi
sub rsp, 0x168
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x90], r8
mov qword [rbp + 0xc8], rdx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rcx
mov eax, 0x10
mov qword [rbp + 0xb0], rax
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xa8], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, qword [rbp + 0xb0]
mov rcx, rsp
mov qword [rbp + 0xb8], rcx
call fcn.1402a7dd0
sub rsp, rax
mov rax, rsp
mov qword [rbp + 0xc0], rax
mov rax, qword [0x1402c6150]
mov ecx, dword [rax]
sub rsp, 0x20
call fcn.14000eaf8
mov rdx, qword [rbp + 0xc8]
add rsp, 0x20
mov qword [rbp + 0xd0], rax
movabs rax, 0xfb6e29f692e3a346
movabs rcx, 0x7b6e29f692e3a346
xor rax, rcx
cmp rdx, rax
jne 0x140063093
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140063be1
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xc8]
mov rax, rdx
neg rax
cmovns rdx, rax
sub rsp, 0x20
call fcn.140008f6c
mov rax, qword [rbp + 0xd0]
add rsp, 0x20
mov al, byte [rax + 0x60]
mov cl, 0xa1
xor cl, 0xa1
cmp al, cl
jne 0x140063be1
mov r9, qword [rbp + 0x90]
mov rax, qword [rbp + 0x98]
mov r8, qword [rax]
mov rcx, r9
sub rcx, r8
mov qword [rbp + 0x88], rcx
mov rax, rcx
and rax, rax
xor rax, 0xffffffffffffffff
and rax, r9
xor rax, 0xffffffffffffffff
and r9, r9
xor r9, 0xffffffffffffffff
movabs r10, 0x6ddea827fd8daca6
movabs rdx, 0x922157d802725359
xor r10, rdx
mov rdx, rcx
xor rdx, r10
xor r9, 0xffffffffffffffff
or rdx, r9
and rax, rdx
movabs rdx, 0xb3d286f9fe20b28c
movabs r9, 0x4c2d790601df4d73
xor rdx, r9
xor rax, rdx
cmp rax, 0
setl al
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
mov cl, al
xor cl, dl
mov r8b, 1
xor r8b, 0
xor cl, r8b
or al, dl
and al, cl
test al, 1
jne 0x1400631bc
mov rax, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x98]
mov rdx, qword [rbp + 0xa8]
add rdx, 8
mov qword [rbp + 0x68], rdx
add rcx, 8
mov qword [rbp + 0x70], rcx
add rax, 8
mov qword [rbp + 0x78], rax
mov eax, 1
mov qword [rbp + 0x80], rax
jmp 0x1400631ce
sub rsp, 0x20
call fcn.14000ee80
add rsp, 0x20
jmp 0x140063be1
mov rcx, qword [rbp + 0x88]
mov rax, qword [rbp + 0x80]
mov qword [rbp + 0x60], rax
cmp rax, rcx
jg 0x1400636eb
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x98]
mov rdx, qword [rax]
movabs rax, 0x36dd8dac036774b1
add rdx, rax
add rdx, 1
movabs rax, 0x36dd8dac036774b1
sub rdx, rax
sub rsp, 0x20
call fcn.140031800
mov rcx, qword [rbp + 0xa8]
mov rax, qword [rbp + 0x68]
add rsp, 0x20
mov rdx, qword [rcx]
mov qword [rbp + 0x48], rdx
mov rax, qword [rax]
mov qword [rbp + 0x50], rax
mov byte [rax + rdx + 8], 0x30
movabs rax, 0x11d7db3f95feb2fa
movabs rcx, 0x11d7db3f95feb2fb
xor rax, rcx
mov rcx, rdx
and rcx, rax
shl rcx, 1
movabs r8, 0xd7c96eb29466f72a
movabs rax, 0xd7c96eb29466f72b
xor r8, rax
mov rax, rdx
xor rax, r8
add rax, rcx
mov qword [rbp + 0x58], rax
mov rcx, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
and r8, r9
xor rcx, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rcx, r8
or rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
or rcx, rdx
movabs rdx, 0xe0e8ac88e0305b4a
movabs r8, 0x1f1753771fcfa4b5
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x140063302
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x48]
add rsp, 0x20
mov qword [rbp + 0x40], rax
jmp 0x140063313
mov rax, qword [rbp + 0x58]
mov rcx, qword [rbp + 0x50]
mov byte [rcx + rax + 8], 0
mov qword [rbp + 0x40], rax
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x40]
mov qword [rbp + 0x20], rax
mov rcx, qword [rcx]
mov qword [rbp + 0x28], rcx
mov rdx, qword [rdx]
mov qword [rbp + 0x30], rdx
cmp rcx, 0
mov qword [rbp + 0x38], rax
jle 0x1400634e9
mov rdx, qword [rbp + 0x28]
movabs rcx, 0x135922931119021a
movabs rax, 0x135922931119021b
xor rcx, rax
mov rax, rdx
add rax, rcx
mov qword [rbp + 0x18], rax
mov rcx, rdx
xor rcx, 0xffffffffffffffff
movabs r9, 0x91d82315a69b3910
movabs r8, 0x6e27dcea5964c6ef
xor r9, r8
mov r8, rdx
xor r8, r9
or rcx, r8
xor rcx, 0xffffffffffffffff
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rcx, r8
mov r8, 0xffffffffffffffff
and r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
and rdx, r8
xor rdx, 0xffffffffffffffff
and rcx, rdx
movabs rdx, 0x1fa8d89326c41328
movabs r8, 0xe057276cd93becd7
xor rdx, r8
xor rcx, rdx
and rax, rcx
cmp rax, 0
jge 0x1400633fa
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x38], rax
jmp 0x1400634e9
mov rax, qword [rbp + 0x18]
cmp rax, 0
jge 0x140063434
mov rcx, qword [rbp + 0x18]
xor eax, eax
mov edx, eax
movabs r8, 0x7fffffffffffffff
sub rsp, 0x20
call fcn.140018506
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x38], rax
jmp 0x1400634e9
mov rax, qword [rbp + 0x30]
mov rdx, qword [rbp + 0x20]
mov rcx, qword [rbp + 0x50]
add rcx, 8
add rcx, rdx
mov qword [rbp], rcx
add rax, 8
mov qword [rbp + 8], rax
xor eax, eax
mov qword [rbp + 0x10], rax
mov rcx, qword [rbp + 0x10]
mov rdx, qword [rbp + 0x28]
mov rax, qword [rbp]
mov r8, qword [rbp + 8]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
movabs r8, 0x686eebe3f1b7fbb6
movabs rax, 0x686eebe3f1b7fbb7
xor r8, rax
mov rax, rcx
add rax, r8
cmp rcx, rdx
mov qword [rbp + 0x10], rax
jne 0x140063459
mov r8, qword [rbp + 0x28]
mov rdx, qword [rbp + 0x20]
xor eax, eax
mov ecx, eax
sub rcx, r8
xor eax, eax
sub rax, rdx
add rcx, rax
xor eax, eax
sub rax, rcx
mov rcx, rax
xor rcx, rdx
mov rdx, rax
xor rdx, r8
and rcx, rdx
cmp rcx, 0
mov qword [rbp + 0x38], rax
jge 0x1400634e9
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp + 0x20]
add rsp, 0x20
mov qword [rbp + 0x38], rax
mov rdx, qword [rbp + 0xb8]
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp + 0x78]
mov r8, qword [rbp + 0x50]
mov r9, qword [rbp + 0x38]
mov qword [rdx], r9
mov qword [rax], r8
sub rsp, 0x20
call fcn.140027c30
mov rcx, qword [rbp + 0x60]
add rsp, 0x20
mov rax, rcx
and rax, 1
mov rdx, rcx
or rdx, 1
add rax, rdx
mov rdx, rcx
xor rdx, 0xffffffffffffffff
mov r8, rcx
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x890ecbc05e19338c
movabs r9, 0x76f1343fa1e6cc73
xor r8, r9
xor rdx, r8
mov r8, 0xffffffffffffffff
xor r8, 0xffffffffffffffff
or rdx, r8
movabs r8, 0x7852fe8fad6ece01
movabs r9, 0x87ad0170529131fe
xor r8, r9
movabs r9, 0xd23127f93335dc62
movabs r10, 0x2dced806ccca239d
xor r9, r10
xor r8, r9
mov r9, 0xffffffffffffffff
xor r9, 0xffffffffffffffff
or r8, r9
and rcx, r8
movabs r8, 0xb8ab079665144b1c
movabs r9, 0x4754f8699aebb4e3
xor r8, r9
xor rcx, r8
xor rdx, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
or rdx, rcx
mov rcx, rax
and rcx, rdx
movabs rdx, 0x2b1da1b7799c4e41
movabs r8, 0x2b1da1b7799c4e41
xor rdx, r8
cmp rcx, rdx
mov qword [rbp + 0x80], rax
jge 0x1400631ce
mov eax, dword [0x1402aa980]
xor eax, dword [0x1402aa984]
imul eax, eax, 0xbd2267cd
and eax, eax
xor eax, 0xffffffff
mov ecx, 0x45b0982e
and ecx, 0x45b0982e
mov edx, 0xfb3236fc
xor edx, 0x4cdc903
xor ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x416f172d
xor ecx, 0xa9a4a2af
sub eax, ecx
mov ecx, 0xf3b3bd58
xor ecx, 0xcf86b589
cmp eax, ecx
jbe 0x140063bf2
mov eax, dword [0x1402aa988]
mov edx, dword [0x1402aa98c]
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or ecx, r8d
xor eax, 0xffffffff
mov r8d, 0xeeb4f2be
xor r8d, 0x114b0d41
xor edx, r8d
or eax, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
mov eax, 0xf1042a40
xor eax, 0x3417ac71
or ecx, eax
mov eax, ecx
and eax, 0xe08589c6
xor eax, 0xffffffff
add ecx, 0xe08589c6
add ecx, 1
add ecx, eax
mov edx, 0x40f38587
xor edx, 0x7ba25c81
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
or ecx, 0x3b51d906
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov dword [rbp - 4], eax
sub rsp, 0x20
call fcn.14000ee80
mov eax, dword [rbp - 4]
add rsp, 0x20
cmp eax, 0xa73ea028
jb 0x14006364c
jmp 0x140063be1
mov eax, dword [0x1402aa990]
imul eax, dword [0x1402aa994]
mov ecx, 0xffffffff
xor ecx, 0xffac0f7d
xor edx, edx
sub edx, 1
sub ecx, edx
sub eax, ecx
add eax, 0x533e7581
xor eax, 0x862d3617
mov ecx, 0x538fc88a
xor ecx, 0x28539e6e
cmp eax, ecx
jae 0x140063bfb
mov rcx, qword [rbp + 0xc8]
mov edx, dword [0x1402aa998]
mov r8d, dword [0x1402aa99c]
mov eax, edx
or eax, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
xor r8d, 0xffffffff
and edx, r8d
or eax, edx
mov edx, 0x95ac0afd
xor edx, 0x6a53f502
xor eax, edx
mov edx, 0x53b41af
xor edx, 0xe3301f85
xor eax, edx
mov r8d, 0xcd03ebe7
xor r8d, 0x642095ab
xor edx, edx
div r8d
and eax, 0x4e114cd1
cmp rcx, 0
setl cl
mov byte [rbp - 5], cl
cmp eax, 0x493796f9
ja 0x140063729
mov al, byte [rbp - 5]
test al, 1
jne 0x1400637a7
jmp 0x140063be1
mov rcx, qword [rbp + 0xc0]
mov rax, qword [rbp + 0x98]
mov rdx, qword [rax]
movabs r8, 0xa1de0c9c0713babd
movabs rax, 0xa1de0c9c0713babc
xor r8, rax
mov rax, rdx
and rax, r8
movabs r8, 0x672dd05dd9987fa4
movabs r9, 0x672dd05dd9987fa6
xor r8, r9
imul rax, r8
xor rdx, 1
add rdx, rax
sub rsp, 0x20
call fcn.140031800
mov rax, qword [rbp + 0xc0]
add rsp, 0x20
mov rcx, qword [rax]
mov qword [rbp - 0x20], rcx
mov rax, qword [rax + 8]
mov qword [rbp - 0x18], rax
mov byte [rax + rcx + 8], 0x2d
mov rax, rcx
add rax, 1
mov qword [rbp - 0x10], rax
xor rcx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rcx, 0xffffffffffffffff
mov rdx, 0xffffffffffffffff
movabs r8, 0xaf204e4633d1a7bb
xor rdx, r8
or rax, rcx
movabs rcx, 0xb1006fbab25b85fd
movabs r8, 0x1e2021fc818a2246
xor rcx, r8
or rcx, rdx
xor rax, 0xffffffffffffffff
and rax, rcx
movabs rcx, 0x92a34ca7e26816a0
movabs rdx, 0x92a34ca7e26816a0
xor rcx, rdx
cmp rax, rcx
jge 0x1400638a8
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp - 0x20]
add rsp, 0x20
mov qword [rbp - 0x28], rax
jmp 0x1400638b9
mov rax, qword [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
mov byte [rcx + rax + 8], 0
mov qword [rbp - 0x28], rax
mov rdx, qword [rbp + 0x70]
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp - 0x28]
mov qword [rbp - 0x48], rax
mov rcx, qword [rcx]
mov qword [rbp - 0x40], rcx
mov rdx, qword [rdx]
mov qword [rbp - 0x38], rdx
movabs rdx, 0x20d513f9ac9abffd
movabs r8, 0x20d513f9ac9abffd
xor rdx, r8
cmp rcx, rdx
mov qword [rbp - 0x30], rax
jle 0x140063bb0
mov rdx, qword [rbp - 0x40]
mov rax, rdx
add rax, 1
mov qword [rbp - 0x50], rax
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
movabs r8, 0x9d258c580970f9fa
xor rcx, r8
or rax, rdx
movabs rdx, 0x9d258c580970f9fa
or rcx, rdx
movabs rdx, 0x730436c64a6d590a
movabs r8, 0x8cfbc939b592a6f5
xor rdx, r8
xor rax, rdx
and rax, rcx
cmp rax, 0
jge 0x14006397e
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp - 0x30], rax
jmp 0x140063bb0
mov rax, qword [rbp - 0x50]
movabs rcx, 0x377d10648241c9a8
movabs rdx, 0x377d10648241c9a8
xor rcx, rdx
cmp rax, rcx
jge 0x1400639ee
mov rcx, qword [rbp - 0x50]
movabs rdx, 0x7fc99b8ffa8624bc
movabs rax, 0x7fc99b8ffa8624bc
xor rdx, rax
movabs r8, 0xb466af826b8e7aae
movabs rax, 0xcb99507d94718551
xor r8, rax
sub rsp, 0x20
call fcn.140018506
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp - 0x30], rax
jmp 0x140063bb0
mov rax, qword [rbp - 0x38]
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x18]
add rcx, 8
add rcx, rdx
mov qword [rbp - 0x68], rcx
add rax, 8
mov qword [rbp - 0x60], rax
xor eax, eax
mov qword [rbp - 0x58], rax
mov rcx, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x68]
mov r8, qword [rbp - 0x60]
mov r8b, byte [r8 + rcx]
mov byte [rax + rcx], r8b
mov rax, rcx
add rax, 1
cmp rcx, rdx
mov qword [rbp - 0x58], rax
jne 0x140063a13
mov eax, dword [0x1402aa9a0]
mov ecx, 0xc38261c4
xor ecx, 0x324c1a3a
xor eax, ecx
mov ecx, dword [0x1402aa9a4]
xor ecx, 0xa3ce1627
xor edx, edx
div ecx
mov ecx, 0xc61f716a
xor edx, edx
div ecx
or eax, 0x2eeaf5b7
mov ecx, 0x4fda9503
xor ecx, 0x7a4c5ddd
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x3596c8de
mov edx, 0xa4e13ed5
xor edx, 0xa4e13ed4
add eax, edx
add eax, ecx
cmp eax, 0x440cfbc2
ja 0x140063c04
mov r10, qword [rbp - 0x40]
mov r8, qword [rbp - 0x48]
mov eax, dword [0x1402aa9a8]
xor eax, 0x740d59dd
mov edx, dword [0x1402aa9ac]
or eax, eax
xor eax, 0xffffffff
mov ecx, edx
xor ecx, 0xffffffff
mov r9d, 0x7ab0b69a
xor r9d, 0x854f4965
xor edx, r9d
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
mov ecx, 0xfe61cbc6
xor ecx, 0x6fb11585
xor edx, edx
div ecx
mov ecx, 0x46621c6
xor ecx, 0xe9e9b8c5
add eax, ecx
mov ecx, 0x4e4b1e63
xor edx, edx
div ecx
mov ecx, 0x4159a530
xor ecx, 0x95a3065e
mov r9, r10
add r9, r8
mov qword [rbp - 0x78], r9
mov rdx, r9
xor rdx, r8
mov r8, r9
xor r8, r10
xor r8, 0xffffffffffffffff
mov r11, r10
and r11, r8
movabs r8, 0x84d84195dc572f54
movabs rsi, 0x84d84195dc572f56
xor r8, rsi
imul r8, r11
sub r8, r10
sub r9, r8
mov r8, rdx
xor r8, r9
movabs r10, 0x7d923c2fb8728cd7
movabs r11, 0x826dc3d0478d7328
xor r10, r11
xor r8, r10
or rdx, r9
and rdx, r8
cmp rdx, 0
setl dl
mov byte [rbp - 0x69], dl
cmp eax, ecx
je 0x140063c04
mov rax, qword [rbp - 0x78]
mov cl, byte [rbp - 0x69]
test cl, 1
mov qword [rbp - 0x30], rax
jne 0x140063b9b
jmp 0x140063bb0
sub rsp, 0x20
call fcn.14000ee80
mov rax, qword [rbp - 0x48]
add rsp, 0x20
mov qword [rbp - 0x30], rax
mov rcx, qword [rbp + 0x98]
mov rax, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x30]
mov qword [rbp + 0xd8], rdx
mov qword [rbp + 0xe0], rax
lea rdx, [rbp + 0xd8]
sub rsp, 0x20
call fcn.140027c30
add rsp, 0x20
mov rax, qword [rbp + 0xa0]
lea rsp, [rbp + 0xe8]
pop rsi
pop rbp
ret
invalid
mov ebp, dword [rsi + 0x1f]
sub ecx, 0x25
sti
invalid
invalid