Function at 0x140081610
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x90
lea rbp, [rsp + 0x80]
mov qword [rbp - 0x60], rdx
mov qword [rbp - 0x40], rcx
mov eax, 0x10
mov qword [rbp - 0x58], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x58]
mov rcx, rsp
mov qword [rbp - 0x50], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x48], rax
sub rsp, 0x20
call fcn.140067614
mov rcx, qword [rbp - 0x40]
add rsp, 0x20
mov qword [rbp - 0x38], rax
movabs rdx, 0xd9a272175d937c61
movabs rax, 0xd9a272175d937c6a
xor rdx, rax
sub rsp, 0x20
call fcn.140067bb0
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0xf6
xor cl, 0xf6
cmp al, cl
jne 0x140081aed
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax]
sub rsp, 0x20
call fcn.140073750
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140081aed
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 8]
mov qword [rbp], rdx
mov rax, qword [rax + 0x10]
mov qword [rbp + 8], rax
mov rdx, rbp
sub rsp, 0x20
call fcn.140068b60
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140081aed
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x18]
mov qword [rbp - 0x10], rdx
mov rax, qword [rax + 0x20]
mov qword [rbp - 8], rax
lea rdx, [rbp - 0x10]
sub rsp, 0x20
call fcn.140068b60
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140081aed
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x28]
sub rsp, 0x20
call fcn.140080b10
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140081aed
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x30]
mov qword [rbp - 0x20], rdx
mov rax, qword [rax + 0x38]
mov qword [rbp - 0x18], rax
lea rdx, [rbp - 0x20]
sub rsp, 0x20
call fcn.140080f47
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140081aed
mov eax, dword [0x14024ec78]
mov ecx, dword [0x14024ec7c]
mov edx, 0x2598375b
xor edx, 0x20c549b6
sub eax, edx
add eax, ecx
mov ecx, 0x5a3181d3
xor ecx, 0x5f6cff3e
add eax, ecx
mov ecx, eax
xor ecx, 0x208a3d22
xor ecx, 0xffffffff
mov edx, 0x89cbdacf
xor edx, 0xa941e7ed
or eax, edx
and eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x46d829f4
mov edx, 0xbad03d1e
xor edx, 0xbad03d1e
mov r8d, 0x129e0b73
xor r8d, 0x129e0b72
sub edx, r8d
sub ecx, edx
sub eax, ecx
xor eax, 0xaaba50df
cmp eax, 0xa5f181df
je 0x140081af3
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov edx, dword [0x14024ec80]
xor edx, 0x1649cc7f
mov r8d, dword [0x14024ec84]
xor r8d, 0xfb71625b
imul edx, r8d
and edx, 0xe1f51135
xor r8d, r8d
sub r8d, edx
xor edx, edx
sub edx, 0x47bb2806
add r8d, edx
xor edx, edx
sub edx, r8d
xor r8d, r8d
sub r8d, edx
xor edx, edx
sub edx, 0xfee78024
add r8d, edx
xor edx, edx
sub edx, r8d
mov dword [rbp - 0x68], edx
mov edx, 0xbf42f341
xor edx, 0x97d589d9
mov dword [rbp - 0x6c], edx
mov rdx, qword [rax + 0x40]
sub rsp, 0x20
call fcn.1400690b1
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x6c]
mov eax, dword [rbp - 0x68]
add rsp, 0x20
cmp byte [rdx], 0
sete dl
mov byte [rbp - 0x61], dl
cmp eax, ecx
jbe 0x140081807
mov al, byte [rbp - 0x61]
test al, 1
jne 0x1400818ac
jmp 0x140081aed
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x48]
mov qword [rbp - 0x30], rdx
mov rax, qword [rax + 0x50]
mov qword [rbp - 0x28], rax
lea rdx, [rbp - 0x30]
sub rsp, 0x20
call fcn.140068b60
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140081aed
mov rdx, qword [rbp - 0x50]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov r8, qword [rax + 0x58]
mov qword [rdx], r8
mov rax, qword [rax + 0x60]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140081080
mov rax, qword [rbp - 0x38]
add rsp, 0x20
mov al, byte [rax]
mov cl, 0x4a
xor cl, 0x4a
cmp al, cl
jne 0x140081aed
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov rdx, qword [rax + 0x68]
sub rsp, 0x20
call fcn.1400814f0
mov rax, qword [rbp - 0x38]
add rsp, 0x20
cmp byte [rax], 0
jne 0x140081aed
mov r11d, dword [0x14024ec88]
mov r10d, dword [0x14024ec8c]
mov eax, 0xc601de84
xor eax, 0xf67ccddb
xor r10d, eax
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x58e99655
mov eax, ecx
and eax, 0x58e99655
and r11d, edx
mov r9d, r8d
and r9d, 0x58e99655
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0x58e99655
and ecx, edx
or eax, ecx
and eax, 0xb9452cbd
mov ecx, 0xa1f3c57f
xor edx, edx
div ecx
mov ecx, 0x8ff8f6dc
xor edx, edx
div ecx
cmp eax, 0x2800bfe6
ja 0x140081afc
mov rcx, qword [rbp - 0x40]
mov r9d, dword [0x14024ec90]
mov r8d, dword [0x14024ec94]
mov eax, 0xad0ed54b
xor eax, 0x3e0d4006
xor r8d, eax
mov edx, 0xc1893ae4
xor edx, 0x3e76c51b
mov eax, r9d
xor eax, edx
and eax, 0x2115f9c4
mov r10d, 0xffffffff
xor r10d, 0x2115f9c4
and r9d, r10d
mov edx, r8d
xor edx, 0xffffffff
mov r11d, 0x80f9dc9e
xor r11d, 0xa1ec255a
and edx, r11d
and r8d, r10d
or eax, r9d
or edx, r8d
xor eax, edx
mov edx, 0x785d9302
xor edx, 0x785d9302
mov r8d, 0x77b720b3
xor r8d, 0x5c96a574
sub edx, r8d
sub eax, edx
xor eax, 0xd01d136e
mov r8d, 0xa89c67d5
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rbp - 0x60]
mov dword [rbp - 0x74], edx
mov edx, 0x380b835c
xor edx, 0x469f18ef
mov dword [rbp - 0x78], edx
mov al, byte [rax + 0x70]
mov dl, 0xaf
xor dl, 0xaf
cmp al, dl
setne dl
and dl, 1
sub rsp, 0x20
call fcn.14007a517
mov rdx, qword [rbp - 0x38]
mov ecx, dword [rbp - 0x78]
mov eax, dword [rbp - 0x74]
add rsp, 0x20
mov dl, byte [rdx]
mov r8b, 0xd0
xor r8b, 0xd0
cmp dl, r8b
sete dl
mov byte [rbp - 0x6d], dl
cmp eax, ecx
ja 0x1400819c8
mov al, byte [rbp - 0x6d]
test al, 1
jne 0x140081ac2
jmp 0x140081aed
mov rdx, qword [rbp - 0x48]
mov rcx, qword [rbp - 0x40]
mov rax, qword [rbp - 0x60]
mov r8, qword [rax + 0x78]
mov qword [rdx], r8
mov rax, qword [rax + 0x80]
mov qword [rdx + 8], rax
sub rsp, 0x20
call fcn.140081080
add rsp, 0x20
lea rsp, [rbp + 0x10]
pop rbp
ret
adc dword [rsi + 0x5c], 0x12
jmp 0x140081807
invalid