Function at 0x1400322d4
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x88
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [rcx]
mov qword [rsp + 0x80], rax
cmp rax, rdx
jle 0x140031e39
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call fcn.140031b10
jmp 0x1400322b0
mov rax, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x1400322b0
mov ecx, dword [0x140251928]
mov eax, 0xe6b422e4
xor eax, 0xebdc1e16
xor ecx, eax
mov edx, dword [0x14025192c]
xor edx, 0x95054648
xor edx, 0xffffffff
mov eax, ecx
xor eax, edx
and eax, ecx
add eax, 0x7a61c3c8
sub eax, 0xfcc8f4e4
sub eax, 0x7a61c3c8
mov ecx, 0x7a9578fb
xor ecx, 0xb4e5e8e0
xor edx, edx
div ecx
or eax, 0xdca8e59e
mov ecx, 0xa09e96e9
xor ecx, 0xe113aa2b
cmp eax, ecx
je 0x1400322b9
mov ecx, dword [0x140251930]
mov edx, dword [0x140251934]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x6c155c76
xor ecx, 0xbb0b1bd5
and eax, ecx
mov ecx, 0x4b33145e
xor edx, edx
div ecx
mov ecx, 0xc1dde2cc
xor ecx, 0x1b2bbf0f
xor edx, edx
div ecx
mov rdx, qword [rsp + 0x78]
mov ecx, 0x726fd709
xor ecx, 0xaa506d01
mov r8, rdx
add r8, 8
mov qword [rsp + 0x58], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x60], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x6f], dl
cmp eax, ecx
ja 0x140031eac
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140031fad
jmp 0x140031f2e
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x60]
mov rdx, qword [rax]
movabs r8, 0xbfffffffffffffff
mov rax, rdx
and rax, r8
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r8, 0xbf128eaf59b7ffaf
movabs r9, 0xed7150a6480050
xor r8, r9
movabs r9, 0x712869c6802fea3b
movabs r10, 0x8ed796397fd015c4
xor r9, r10
xor r8, r9
or rdx, r8
and rax, rdx
movabs rdx, 0x7a31679b7765e533
movabs r8, 0x85ce9864889a1acc
xor rdx, r8
xor rax, rdx
cmp rax, rcx
jge 0x14003208a
mov rdx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x70]
mov rax, r8
xor rax, rdx
mov r9, rdx
xor r9, 0xffffffffffffffff
mov rcx, r8
and rcx, r9
shl rcx, 1
sub rcx, rax
mov qword [rsp + 0x50], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0xa6b0b7a0bda2bcc6
movabs r9, 0xa6b0b7a0bda2bcc6
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
movabs rdx, 0xda83bc3400e9b797
movabs r8, 0x257c43cbff164868
xor rdx, r8
cmp rcx, rdx
setg cl
and al, cl
test al, 1
jne 0x140032080
mov r8, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x80]
movabs r9, 0x378511053d6a452f
movabs rax, 0x378511053d6a4507
xor r9, rax
movabs rax, 0xbb0e9835ba6de362
movabs r10, 0xbb0e9835ba6de36a
xor rax, r10
mov qword [rsp + 0x20], rax
call fcn.140010c40
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x14003208a
call fcn.140007e9d
jmp 0x1400322b0
mov eax, dword [0x140251938]
xor edx, edx
div dword [0x14025193c]
xor ecx, ecx
sub ecx, 0x7e7c74dc
add eax, ecx
mov edx, 0xc935fd35
xor edx, 0x36ca02ca
mov ecx, eax
xor ecx, edx
mov edx, 0x42c1fff6
xor edx, 0xc7859dfa
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x8544620c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xa88d5f94
xor r8d, 0x2dc93d98
mov edx, eax
and edx, r8d
or eax, 0x8544620c
imul eax, edx
add eax, ecx
sub eax, 0x18a7373b
cmp eax, 0xb0578434
jae 0x1400322c2
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov eax, dword [0x140251940]
xor eax, 0x29b27c56
and eax, dword [0x140251944]
mov r10d, 0xffffffff
xor r10d, 0x3f1ef8e
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x3f1ef8e
or eax, 0x3f1ef8e
imul eax, r9d
add eax, r8d
mov r8d, 0xa830c9d3
xor r8d, 0xf11dab23
or eax, r8d
mov r8d, 0xbb5e6873
xor r8d, 0xac385c37
and eax, r8d
mov qword [rcx], rdx
cmp eax, 0x52e5285e
jae 0x1400322c2
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x48], rax
jmp 0x140032191
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x40], rax
cmp rax, rcx
jge 0x1400322b0
mov eax, dword [0x140251948]
xor eax, dword [0x14025194c]
and eax, 0xadcbeb9e
mov edx, 0x99dc01e
xor edx, 0x99dc01f
mov ecx, eax
add ecx, edx
xor eax, 0xffffffff
mov edx, 0xf428b0f
xor edx, 0xdb0ca4a1
or eax, edx
add eax, ecx
xor eax, 0x7750282f
cmp eax, 0xf9d2dc69
je 0x1400322cb
mov rcx, qword [rsp + 0x58]
mov eax, dword [0x140251950]
mov edx, dword [0x140251954]
xor edx, 0xbaccf754
sub eax, edx
mov r8d, 0xf50804b6
xor edx, edx
div r8d
mov r8d, 0xc506c733
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x40]
imul edx, edx, 0x17a9a247
mov dword [rsp + 0x2c], edx
mov rcx, qword [rcx]
add rcx, 8
imul rax, rax, 0x28
add rcx, rax
movabs rdx, 0xe7982a848d625312
movabs rax, 0xe7982a848d62533a
xor rdx, rax
call fcn.140008450
mov rdx, qword [rsp + 0x40]
mov eax, dword [rsp + 0x2c]
xor ecx, ecx
mov r8d, ecx
sub r8, 1
mov rcx, rdx
sub rcx, r8
mov qword [rsp + 0x30], rcx
xor rdx, 0xffffffffffffffff
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x3f], cl
cmp eax, 0xb12b0f46
ja 0x1400322cb
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x48], rax
jne 0x1400322ab
jmp 0x140032191
call fcn.140007e9d
nop
add rsp, 0x88
ret
fstp xword [rdi + 2]
jmp 0x140031eac
adc eax, 0xe9406fd0
xor al, 0xfe
invalid
pop rax
int 0x3b
jmp 0x1400321eb
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140031b10
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140031e00