Function at 0x140035000
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xa0
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rcx
call fcn.140009f59
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
add rax, 0x60
mov qword [rsp + 0x90], rax
mov rax, qword [rcx]
mov qword [rsp + 0x98], rax
cmp rax, rdx
jle 0x140035067
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
call fcn.140034a50
jmp 0x1400356a6
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jge 0x1400356a6
mov eax, dword [0x1401dca98]
mov ecx, dword [0x1401dca9c]
mov edx, 0xcb787e25
xor edx, 0xb8087a1d
add eax, edx
add eax, ecx
sub eax, 0x73700438
mov ecx, 0xef02c4eb
xor ecx, 0x17bb54c9
sub eax, ecx
and eax, eax
xor eax, 0xffffffff
mov ecx, 0xffffffff
xor ecx, 0x6e6d53d6
mov edx, 0xffffffff
xor edx, 0x6e6d53d6
or ecx, edx
and eax, ecx
mov ecx, 0xcab534f0
xor ecx, 0x354acb0f
xor eax, ecx
mov ecx, 0xf2cf678f
xor edx, edx
div ecx
cmp eax, 0x7fb8885f
ja 0x1400356b0
mov rdx, qword [rsp + 0x80]
mov ecx, dword [0x1401dcaa0]
mov eax, dword [0x1401dcaa4]
mov r8d, 0x40fe2ec1
xor r8d, 0xaa00392a
xor eax, r8d
add ecx, 0x341d9d70
add ecx, eax
mov eax, 0x446a8594
xor eax, 0x707718e4
sub ecx, eax
add ecx, 0x2fdd538
or ecx, 0xabea3592
mov eax, ecx
and eax, 0xea6838d8
or ecx, 0xea6838d8
add eax, ecx
mov ecx, 0xe9706533
xor ecx, 0x781a9d9
mov r8, rdx
add r8, 8
mov qword [rsp + 0x68], r8
mov rdx, qword [rdx + 8]
mov qword [rsp + 0x70], rdx
cmp rdx, 0
sete dl
mov byte [rsp + 0x7f], dl
cmp eax, ecx
ja 0x1400350ed
mov al, byte [rsp + 0x7f]
test al, 1
jne 0x1400351a7
jmp 0x140035184
mov rcx, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x70]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x14003539e
mov r8, qword [rsp + 0x98]
mov r9, qword [rsp + 0x88]
movabs rax, 0x6e7ad370b3ddd271
movabs rcx, 0xea9aa9075f072bca
xor rax, rcx
mov rdx, r9
sub rdx, rax
sub rdx, r8
movabs rax, 0xdda7d9462c6cee58
movabs rcx, 0x5947a331c0b617e3
xor rax, rcx
add rdx, rax
mov qword [rsp + 0x60], rdx
mov rcx, rdx
xor rcx, 0xffffffffffffffff
mov rax, r9
and rax, rcx
xor r9, 0xffffffffffffffff
mov rcx, rdx
and rcx, r9
or rax, rcx
cmp rax, 0
setl cl
mov rax, rdx
or rax, rax
xor rax, 0xffffffffffffffff
mov r9, r8
or r9, r9
xor r9, 0xffffffffffffffff
or rax, r9
xor rax, 0xffffffffffffffff
movabs r9, 0x7c5335aff293b1e0
movabs r10, 0x83acca500d6c4e1f
xor r9, r10
xor rdx, r9
movabs r9, 0x6989c19950d0b49d
movabs r10, 0x96763e66af2f4b62
xor r9, r10
xor r8, r9
and rdx, r8
movabs r8, 0xd391e0128a5ce153
movabs r9, 0x2c6e1fed75a31eac
xor r8, r9
xor rax, r8
xor rdx, 0xffffffffffffffff
and rax, rdx
movabs rdx, 0x588f7773885c73e0
movabs r8, 0xa770888c77a38c1f
xor rdx, r8
cmp rax, rdx
setg dl
mov al, cl
xor al, 0xff
mov r9b, 1
xor r9b, 0
mov r8b, dl
xor r8b, r9b
or al, r8b
and cl, dl
xor cl, 0xff
and al, cl
xor al, 0xff
test al, 1
jne 0x140035394
mov eax, dword [0x1401dcaa8]
and eax, dword [0x1401dcaac]
xor eax, 0x7dce32bb
sub eax, 0x942d719d
xor ecx, ecx
sub ecx, 0x2a60cef6
add eax, ecx
cmp eax, 0x7cf9f06
jb 0x1400356b9
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x98]
mov eax, dword [0x1401dcab0]
mov r9d, dword [0x1401dcab4]
mov r10d, eax
xor r10d, r9d
xor r10d, 0xffffffff
mov edx, r9d
and edx, r10d
shl edx, 1
sub edx, r9d
sub eax, edx
and eax, 0xa42b044a
mov r9d, 0x430e40b
xor edx, edx
div r9d
mov rdx, qword [rsp + 0x70]
mov r9d, 0x98bab1dd
xor r9d, 0x7315bedc
xor eax, r9d
mov dword [rsp + 0x5c], eax
mov eax, 0x4ac8c351
xor eax, 0x6433befb
mov dword [rsp + 0x58], eax
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140011560
mov rdx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x58]
mov r8, rax
mov eax, dword [rsp + 0x5c]
mov qword [rdx], r8
cmp eax, ecx
jb 0x1400352f7
jmp 0x14003539e
call fcn.1400067fe
jmp 0x1400356a6
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x88]
mov qword [rcx], rdx
mov qword [rsp + 0x50], rax
mov rcx, qword [rsp + 0x88]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x48], rax
cmp rax, rcx
jge 0x1400356a6
mov ecx, dword [0x1401dcab8]
xor ecx, 0xb95b2d6d
mov edx, dword [0x1401dcabc]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
or eax, 0x2631852c
mov ecx, 0x6cd238b7
xor ecx, 0x39b34032
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x55617885
mov edx, 0x14a81d4e
xor edx, 0x14a81d4f
add eax, edx
add eax, ecx
sub eax, 0x1cf46c6b
cmp eax, 0x2f5555e8
jbe 0x1400356c2
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x1401dcac0]
xor eax, 0x3af9811
xor edx, edx
div dword [0x1401dcac4]
mov edx, 0xb75489dd
xor edx, 0x48ab7622
mov r8d, eax
xor r8d, edx
and r8d, 0xd3ccafca
mov r9d, 0xffffffff
xor r9d, 0xd3ccafca
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0xd3ccafca
or eax, 0xd3ccafca
imul eax, r8d
add eax, edx
mov r8d, 0x4126632c
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x48]
xor r8d, r8d
sub r8d, edx
xor edx, edx
sub edx, 0xe9f78a22
add r8d, edx
xor edx, edx
sub edx, r8d
mov dword [rsp + 0x40], edx
mov edx, 0x4a944e78
xor edx, 0xdbbdb366
mov dword [rsp + 0x3c], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.14019dcd1
mov rdx, qword [rsp + 0x90]
mov ecx, dword [rsp + 0x3c]
mov eax, dword [rsp + 0x40]
mov dl, byte [rdx]
mov r8b, 0x66
xor r8b, 0x66
cmp dl, r8b
sete dl
mov byte [rsp + 0x47], dl
cmp eax, ecx
je 0x14003542c
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140035515
jmp 0x1400356a6
mov ecx, dword [0x1401dcac8]
xor ecx, 0x78d57f3d
mov edx, dword [0x1401dcacc]
mov eax, 0x22cd4136
xor eax, 0xf21c0ca5
xor edx, eax
mov eax, ecx
xor eax, 0xffffffff
mov r8d, edx
xor r8d, 0xffffffff
or eax, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x5e6d9a02
xor edx, edx
div ecx
mov ecx, 0x4fa2d1ac
xor edx, edx
div ecx
or eax, eax
xor eax, 0xffffffff
mov ecx, 0x548a620d
or ecx, 0x548a620d
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x9f967e71
xor ecx, 0x6069818e
xor eax, ecx
cmp eax, 0x8d44fecf
jae 0x1400356cb
mov rdx, qword [rsp + 0x48]
mov esi, dword [0x1401dcad0]
mov eax, dword [0x1401dcad4]
xor eax, 0x30c667f
imul esi, eax
and esi, 0xb2e2d949
mov ecx, esi
xor ecx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0x8832bb18
mov r8d, 0xffffffff
xor r8d, 0xe9e25a8
mov eax, ecx
and eax, 0xe9e25a8
and esi, r8d
mov r10d, r9d
and r10d, 0xe9e25a8
mov r11d, r8d
and r11d, 0x8832bb18
or eax, esi
or r10d, r11d
xor eax, r10d
or ecx, r9d
xor ecx, 0xffffffff
or r8d, 0xe9e25a8
and ecx, r8d
or eax, ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x80a40e73
add eax, ecx
movabs r8, 0xc5eed1f0baf5e4f4
movabs rcx, 0xc5eed1f0baf5e4f4
xor r8, rcx
sub r8, rdx
xor ecx, ecx
sub rcx, 1
add r8, rcx
movabs rcx, 0x9c5b4f72e6718001
movabs r9, 0x9c5b4f72e6718001
xor rcx, r9
sub rcx, r8
mov qword [rsp + 0x30], rcx
movabs r8, 0x108245960f413b42
movabs r9, 0xef7dba69f0bec4bd
xor r8, r9
xor rdx, r8
and rcx, rdx
cmp rcx, 0
setl cl
mov byte [rsp + 0x3b], cl
cmp eax, 0x5272dac7
jb 0x1400356cb
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3b]
test cl, 1
mov qword [rsp + 0x50], rax
jne 0x1400356a1
jmp 0x1400353be
call fcn.1400067fe
nop
add rsp, 0xa0
pop rsi
ret
fidiv dword [rsi + 0x1d]
add ch, cl
xor al, 0xfa
invalid
invalid
jne 0x140035743
invalid
clc
adc eax, 0xb7e929b9
invalid
mov rcx, qword [rsp + 0x38]
mov edx, dword [0x1401dcae0]
mov r8d, dword [0x1401dcae4]
mov eax, 0x21274a96
xor eax, 0x12bf3efe
xor r8d, eax
mov edi, 0xc0314112
mov r9d, 0xa7fa90e2
xor r9d, 0x58056f1d
mov eax, edx
xor eax, r9d
mov r9d, 0xd62b72b6
xor r9d, 0x29d48d49
xor edx, r9d
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
xor eax, 0xffffffff
mov r8d, 0x4170ad15
xor r8d, 0xbe8f52ea
xor edx, r8d
or eax, edx
mov r8d, 0xd89033e0
xor edx, edx
div r8d
mov esi, eax
mov edx, esi
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xbfcf3286
mov r8d, 0xffffffff
xor r8d, 0x25ad224a
mov eax, edx
and eax, 0x25ad224a
and esi, r8d
mov r11d, 0x1557bf1
xor r11d, 0x24f859bb
mov r10d, r9d
and r10d, r11d
mov r11d, r8d
and r11d, 0xbfcf3286
or eax, esi
or r10d, r11d
xor eax, r10d
or edx, r9d
xor edx, 0xffffffff
or r8d, 0x25ad224a
and edx, r8d
or eax, edx
and eax, 0xc6094462
mov dword [rsp + 0x2c], eax
xor eax, eax
mov edx, eax
call fcn.140034a50
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
call fcn.140035000
mov eax, dword [rsp + 0x2c]
cmp eax, 0x8d92c6e6
ja 0x14003572a
add rsp, 0x40
pop rsi
ret