Function at 0x140029720
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x90
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x70], rcx
call fcn.14000aa89
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
add rax, 0x60
mov qword [rsp + 0x80], rax
mov rax, qword [rcx]
mov qword [rsp + 0x88], rax
cmp rax, rdx
jle 0x140029816
mov eax, dword [0x1401d6518]
mov ecx, dword [0x1401d651c]
xor ecx, 0x5d2156c
xor edx, edx
div ecx
mov ecx, 0x9b6b3669
xor ecx, 0x21f5b318
mov edx, eax
xor edx, ecx
xor edx, 0xffffffff
and edx, 0xba9e8571
mov ecx, 0x703e7fa9
xor ecx, 0x703e7fab
imul ecx, edx
sub ecx, 0xba9e8571
sub eax, ecx
mov ecx, 0x4d73365a
xor edx, edx
div ecx
add eax, 0x85b5c65f
cmp eax, 0xaef0060d
je 0x140029d18
mov rcx, qword [rsp + 0x70]
mov eax, dword [0x1401d6520]
and eax, dword [0x1401d6524]
imul eax, eax, 0xe36227ea
mov r8d, 0xf186a8f9
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x78]
sub eax, 0x1bdfd796
mov dword [rsp + 0x6c], eax
mov eax, 0x9dac4b06
xor eax, 0x7600407d
mov dword [rsp + 0x68], eax
call fcn.140029440
mov ecx, dword [rsp + 0x68]
mov eax, dword [rsp + 0x6c]
cmp eax, ecx
ja 0x1400297be
jmp 0x140029d0e
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
cmp rax, rcx
jge 0x140029d0e
mov rax, qword [rsp + 0x70]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x58], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x60], rax
cmp rax, 0
je 0x140029870
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x60]
movabs rax, 0xbfffffffffffffff
and rax, qword [rdx]
cmp rax, rcx
jge 0x140029b1a
mov ecx, dword [0x1401d6528]
mov r8d, dword [0x1401d652c]
mov eax, ecx
and eax, eax
mov edx, 0x5fd1947b
xor edx, 0xa02e6b84
xor eax, edx
mov edx, 0xf168e1c9
xor edx, 0xe971e36
xor eax, edx
mov r9d, 0xe9386f4b
xor r9d, 0x16c790b4
mov edx, r8d
xor edx, r9d
or eax, edx
mov edx, r8d
xor edx, 0xffffffff
xor r8d, 0xffffffff
or edx, r8d
and ecx, edx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0x1348fe2e
xor r8d, 0xecb701d1
mov edx, eax
xor edx, r8d
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xc147e808
mov r8d, 0xbf6e0659
xor r8d, 0x7e29ee51
mov r9d, 0x7b81a386
xor r9d, 0x847e5c79
xor r8d, r9d
and edx, r8d
or ecx, edx
mov edx, 0xa313f318
xor edx, 0x5cec0ce7
xor ecx, edx
or eax, 0xc147e808
mov edx, 0x4033d45a
xor edx, 0xbfcc2ba5
xor eax, edx
or ecx, eax
mov eax, 0x9225958f
xor eax, 0x6dda6a70
xor ecx, eax
add ecx, 0xb2955d67
mov eax, 0xe1467f3f
xor eax, 0xb4476367
add ecx, eax
sub ecx, 0xb2955d67
mov eax, ecx
and eax, eax
xor eax, 0xffffffff
mov edx, 0x5caa8cc
xor edx, 0x5a42d7ca
and eax, edx
mov edx, 0x3afa051e
xor edx, 0xc505fae1
xor eax, edx
mov edx, 0x5f887f06
and edx, 0x5f887f06
mov r8d, 0x63b1c28f
xor r8d, 0x9c4e3d70
xor edx, r8d
mov r8d, 0x24dee6cf
xor r8d, 0xdb211930
xor ecx, r8d
xor edx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0x19b6cdef
xor ecx, 0x488c7738
cmp eax, ecx
je 0x140029d21
mov r10, qword [rsp + 0x88]
mov r9, qword [rsp + 0x78]
mov r8d, dword [0x1401d6530]
xor r8d, 0xe6788b20
mov ecx, dword [0x1401d6534]
mov eax, 0x6207d1c0
xor eax, 0x6207d1c0
sub eax, ecx
sub r8d, eax
add r8d, 0x600577e
mov eax, 0x574c99e8
xor eax, 0xabaae1e5
and eax, r8d
xor eax, 0xffffffff
add r8d, 0xfce6780d
add r8d, 1
add r8d, eax
mov ecx, 0x873f35f2
xor ecx, 0x78c0ca0d
mov eax, r8d
xor eax, ecx
and eax, 0x9df479bf
mov edx, 0xffffffff
xor edx, 0x9df479bf
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x8eae5663
and ecx, 0x9df479bf
and edx, 0x8eae5663
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x9098961a
xor ecx, 0x1dd2ea2d
mov r8, r9
sub r8, r10
mov qword [rsp + 0x48], r8
mov rdx, r8
xor rdx, r9
cmp rdx, 0
setl dl
mov r9, r8
xor r9, r10
xor r9, 0xffffffffffffffff
mov r11, r10
and r11, r9
movabs r9, 0x63a0a0ba8c69f9ad
movabs rsi, 0x63a0a0ba8c69f9af
xor r9, rsi
imul r9, r11
sub r9, r10
sub r8, r9
cmp r8, 0xffffffffffffffff
setg r9b
mov r8b, dl
xor r8b, r9b
xor r8b, 0xff
or dl, r9b
and dl, r8b
mov byte [rsp + 0x57], dl
cmp eax, ecx
je 0x1400299bb
mov al, byte [rsp + 0x57]
test al, 1
jne 0x140029b10
jmp 0x140029ada
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x88]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.140011990
mov rcx, rax
mov rax, qword [rsp + 0x58]
mov qword [rax], rcx
jmp 0x140029b1a
call fcn.1400077a3
jmp 0x140029d0e
mov rax, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x78]
mov qword [rcx], rdx
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x38], rax
mov eax, dword [0x1401d6538]
mov ecx, dword [0x1401d653c]
mov edx, 0x9671b43f
xor edx, 0xc18d130b
xor ecx, edx
imul eax, ecx
sub eax, 0x85a35883
sub eax, 0xc85d5c41
mov ecx, 0x6762e788
xor ecx, 0xe2c1bf0b
add eax, ecx
or eax, 0xf6819e5e
sub eax, 0x6a50e535
add eax, 0x7361ff1d
mov ecx, 0x80c70ada
xor ecx, 0xea97efef
add eax, ecx
cmp eax, 0xa93dc74c
jae 0x140029d2a
mov rcx, qword [rsp + 0x38]
mov eax, dword [0x1401d6540]
xor edx, edx
div dword [0x1401d6544]
mov rdx, qword [rsp + 0x78]
mov r8d, eax
mov eax, r8d
and eax, 0xf8ef6123
xor r8d, 0xf8ef6123
or eax, r8d
mov r9d, 0x4566e5a9
xor r9d, 0x7608bc46
mov r8d, 0x7c4d17d1
xor r8d, 0x83b2e82e
xor r9d, r8d
mov r8d, eax
and r8d, r9d
mov r9d, eax
xor r9d, 0x336e59ef
add eax, r9d
sub eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x3e8dda2
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
mov r10d, 0xd3b5ed4
xor r10d, 0xf2c4a12b
xor r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0x3e8dda2
mov r10d, 0x4359a318
xor r10d, 0x40b17eba
or eax, r10d
imul eax, r9d
add eax, r8d
cmp rcx, rdx
setl cl
mov byte [rsp + 0x37], cl
cmp eax, 0x2b05abc6
je 0x140029b98
mov al, byte [rsp + 0x37]
test al, 1
jne 0x140029c6c
jmp 0x140029d0e
mov rax, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.14014da10
mov rax, qword [rsp + 0x80]
cmp byte [rax], 0
jne 0x140029d0e
mov rdx, qword [rsp + 0x38]
movabs rcx, 0x32285a2df0410639
movabs rax, 0x32285a2df0410639
xor rcx, rax
movabs rax, 0x53e84ae5f0dd5d0e
movabs r8, 0x53e84ae5f0dd5d0f
xor rax, r8
sub rcx, rax
mov rax, rdx
sub rax, rcx
movabs rcx, 0x52412ba4edc0f1fb
movabs r8, 0xadbed45b123f0e04
xor rcx, r8
xor rdx, rcx
mov rcx, rax
and rcx, rdx
cmp rcx, 0
mov qword [rsp + 0x40], rax
jge 0x140029b34
call fcn.1400077a3
nop
add rsp, 0x90
pop rsi
ret
and byte [rdx + rcx*4 - 0x48], ah
jmp 0x1400297be
lodsb al, byte [rsi]
mov al, 0xc1
xchg edi, eax
jmp 0x1400299bb
pop rcx
sahf
jmp 0x140029b98
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140029440
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140029720