Function at 0x140100510
Capabilities:
Encode data using xor

Disassembly:
push rbp
sub rsp, 0x80
lea rbp, [rsp + 0x80]
mov qword [rbp - 8], rcx
mov eax, dword [0x140251d20]
mov ecx, dword [0x140251d24]
xor ecx, 0x263f75d2
and eax, ecx
imul eax, eax, 0x7fafab48
and eax, eax
mov ecx, 0xaa412841
xor ecx, 0x55bed7be
xor eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x64af0fde
mov edx, 0xffffffff
xor edx, 0x64af0fde
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x15ef2e7
xor ecx, 0xaee97331
add eax, ecx
cmp eax, 0xc8f2442d
jae 0x140100b02
mov ecx, dword [0x140251d28]
xor ecx, 0xb01c40e9
mov eax, dword [0x140251d2c]
or ecx, eax
mov edx, ecx
and edx, 0x3ec3ce32
add edx, edx
mov eax, ecx
neg edx
mov ecx, edx
lea eax, [rax + rcx - 0xf0f212f]
mov dword [rbp - 0x1c], eax
mov eax, 0x60f3290c
mov dword [rbp - 0x20], eax
mov eax, 0x10
mov qword [rbp - 0x38], rax
call fcn.14024abd0
sub rsp, rax
mov rax, qword [rbp - 0x38]
mov rcx, rsp
mov qword [rbp - 0x30], rcx
call fcn.14024abd0
sub rsp, rax
mov rax, rsp
mov qword [rbp - 0x28], rax
sub rsp, 0x20
call fcn.1400fcd9c
mov rdx, qword [rbp - 8]
mov ecx, dword [rbp - 0x20]
add rsp, 0x20
mov eax, dword [rbp - 0x1c]
mov rdx, qword [rdx + 8]
mov qword [rbp - 0x18], rdx
cmp rdx, 0
sete dl
mov byte [rbp - 9], dl
cmp eax, ecx
jb 0x140100b02
mov al, byte [rbp - 9]
test al, 1
jne 0x1401006b5
jmp 0x140100627
mov rax, qword [rbp - 0x18]
mov rax, qword [rax]
or rax, rax
xor rax, 0xffffffffffffffff
movabs rcx, 0xdf010c9f75da483b
movabs rdx, 0x9f010c9f75da483b
xor rcx, rdx
movabs rdx, 0x101ff5ad920a050d
movabs r8, 0xefe00a526df5faf2
xor rdx, r8
xor rcx, rdx
mov rdx, 0xffffffffffffffff
movabs r8, 0x4000000000000000
xor rdx, r8
and rcx, rdx
or rax, rcx
xor rax, 0xffffffffffffffff
movabs rcx, 0x88b51ebbfe1853a4
movabs rdx, 0x88b51ebbfe1853a4
xor rcx, rdx
cmp rax, rcx
jne 0x1401006b5
mov rcx, qword [rbp - 0x18]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x18]
mov qword [rbp - 0x40], rax
cmp rax, 0
je 0x14010070d
mov rcx, qword [rbp - 0x40]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0x2c03921e5a5d3a82
movabs rdx, 0x2c03921e5a5d3a82
xor rcx, rdx
cmp rax, rcx
jne 0x14010070d
mov rcx, qword [rbp - 0x40]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x28]
mov qword [rbp - 0x48], rax
cmp rax, 0
je 0x14010074f
mov rcx, qword [rbp - 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
cmp rax, 0
jne 0x14010074f
mov rcx, qword [rbp - 0x48]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x38]
mov qword [rbp - 0x50], rax
cmp rax, 0
je 0x140100984
mov ecx, dword [0x140251d30]
xor ecx, 0x9bea2d29
mov edx, dword [0x140251d34]
mov eax, ecx
and eax, eax
mov r8d, 0x4d785da9
xor r8d, 0xb287a256
xor eax, r8d
mov r8d, 0xe090a6b1
xor r8d, 0x1f6f594e
xor eax, r8d
mov r9d, 0xb55e4804
xor r9d, 0x4aa1b7fb
mov r8d, edx
xor r8d, r9d
or eax, r8d
and edx, edx
xor edx, 0xffffffff
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0xc05a4255
xor edx, edx
div ecx
mov ecx, eax
or ecx, 0xb94ac88f
mov edx, 0xb35f065
xor edx, 0x3dbaff80
mov eax, ecx
or eax, edx
xor eax, 0xffffffff
mov edx, 0xa4ba4ff5
xor edx, 0x92354010
or ecx, edx
mov edx, 0xac134801
xor edx, 0x53ecb7fe
xor ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x15c666e1
je 0x140100b0b
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x140251d38]
mov edx, dword [str.X_vW]
xor edx, 0xb26e26ca
sub eax, edx
xor eax, 0x39dce1a7
mov r8d, 0xd85c7a0f
xor edx, edx
div r8d
sub eax, 0xf211acd1
sub eax, 0x8966d4f9
add eax, 0xf211acd1
mov rcx, qword [rcx]
movabs rdx, 0x3b4e320813e97c3
movabs r8, 0x43b4e320813e97c3
xor rdx, r8
and rcx, rdx
movabs rdx, 0xe8ecf4ac8c3bc0d0
movabs r8, 0xe8ecf4ac8c3bc0d0
xor rdx, r8
cmp rcx, rdx
sete cl
mov byte [rbp - 0x51], cl
cmp eax, 0xc1e58a40
ja 0x140100b0b
mov al, byte [rbp - 0x51]
test al, 1
jne 0x1401008a5
jmp 0x140100984
mov eax, dword [0x140251d40]
mov edx, dword [0x140251d44]
xor edx, 0xa75ceb2b
xor ecx, ecx
sub ecx, eax
xor eax, eax
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
sub eax, 0x62338a45
and eax, 0xa4352577
or eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x6c5af63c
mov edx, 0xffffffff
xor edx, 0x6c5af63c
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0xca7c9ed2
xor ecx, 0xcf4f0842
cmp eax, ecx
ja 0x140100b14
mov rcx, qword [rbp - 0x50]
mov eax, dword [0x140251d48]
mov edx, 0x971c0b6a
xor edx, 0xa36bbd11
xor eax, edx
mov r8d, dword [0x140251d4c]
xor edx, edx
sub edx, eax
xor eax, eax
sub eax, r8d
add edx, eax
mov eax, 0xee026f10
xor eax, 0xee026f10
sub eax, edx
sub eax, 0x9972ee7e
mov edx, 0x6348bfe1
xor edx, 0x6952a24b
add eax, edx
imul eax, eax, 0x2193f60f
mov dword [rbp - 0x58], eax
mov eax, 0x92c00b9f
xor eax, 0x838b437d
mov dword [rbp - 0x5c], eax
sub rsp, 0x20
call fcn.14000eec9
mov ecx, dword [rbp - 0x5c]
mov eax, dword [rbp - 0x58]
add rsp, 0x20
cmp eax, ecx
je 0x140100907
jmp 0x140100984
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x48]
mov qword [rbp - 0x68], rax
cmp rax, 0
je 0x1401009dc
mov rcx, qword [rbp - 0x68]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xbeef7c9dc5395295
movabs rdx, 0xbeef7c9dc5395295
xor rcx, rdx
cmp rax, rcx
jne 0x1401009dc
mov rcx, qword [rbp - 0x68]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rax, qword [rax + 0x58]
mov qword [rbp - 0x70], rax
cmp rax, 0
je 0x140100ab8
mov eax, dword [0x140251d50]
mov ecx, dword [0x140251d54]
xor ecx, 0xf3537beb
and eax, ecx
mov ecx, 0x57798f38
xor ecx, 0x88b0bc10
xor edx, edx
div ecx
mov ecx, 0x252c2b6b
xor edx, edx
div ecx
imul eax, eax, 0xeac8025d
cmp eax, 0x316ddd29
jae 0x140100b1d
mov r8, qword [rbp - 0x70]
mov eax, dword [0x140251d58]
imul eax, dword [0x140251d5c]
add eax, 0x5c57f9ff
mov ecx, 0x80e7f2ec
xor ecx, 0x3356088f
add eax, ecx
mov ecx, 0x20aebe8e
xor ecx, 0x7cf94771
sub eax, ecx
mov ecx, 0xfda8246d
xor edx, edx
div ecx
add eax, 0x8ee3ab49
mov ecx, 0x2ea1a21c
xor ecx, 0x1d40db18
movabs rdx, 0x4000000000000000
and rdx, qword [r8]
cmp rdx, 0
sete dl
mov byte [rbp - 0x71], dl
cmp eax, ecx
je 0x140100a2f
mov al, byte [rbp - 0x71]
test al, 1
jne 0x140100aa7
jmp 0x140100ab8
mov rcx, qword [rbp - 0x70]
sub rsp, 0x20
call fcn.14000eec9
add rsp, 0x20
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x30]
mov rdx, qword [rax + 0x60]
mov qword [rcx], rdx
mov rax, qword [rax + 0x68]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.1400182e0
mov rax, qword [rbp - 8]
mov rcx, qword [rbp - 0x28]
add rsp, 0x20
mov rdx, qword [rax + 0x70]
mov qword [rcx], rdx
mov rax, qword [rax + 0x78]
mov qword [rcx + 8], rax
sub rsp, 0x20
call fcn.140060880
nop
mov rsp, rbp
pop rbp
ret
movabs byte [0xfffffa7ae98ebd39], al
in al, dx
stosd dword [rdi], eax
ror byte [rdx - 0x2fd17], 1
push qword [rdi + 8]
ja 0x140100b1e
push rdi
add ebp, ecx
invalid
movabs dword [0xffffff09e905e1b6], eax
nop word cs:[rax + rax]
mov dh, 0xe1
add eax, 0xffff09e9
jmp qword [rsi + 0x2e]