Function at 0x140027996
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0xa0
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x80], rcx
call fcn.14000a534
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 0x140027297
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x80]
call fcn.140026f10
jmp 0x140027968
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x88]
cmp rax, rcx
jge 0x140027968
mov rax, qword [rsp + 0x80]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x70], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x78], rax
cmp rax, 0
je 0x140027468
mov eax, dword [0x1401d90a8]
mov r8d, dword [0x1401d90ac]
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x90f23d8b
mov r8d, 0xb791a51c
xor r8d, 0x27639897
mov ecx, 0xf8496469
xor ecx, 0x7b69b96
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x90f23d8b
or eax, 0x90f23d8b
imul eax, edx
add eax, ecx
and eax, 0x37a9ec3c
mov r8d, 0xef9eceee
xor r8d, 0x2e7077ea
mov ecx, 0x8c3288b7
xor ecx, 0x73cd7748
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x8e920217
xor r8d, 0x716dfde8
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xc1eeb904
or eax, 0xc1eeb904
imul eax, edx
add eax, ecx
cmp eax, 0x7449f1af
jae 0x140027972
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1401d90b0]
add eax, dword [0x1401d90b4]
imul eax, eax, 0x97141c7a
mov r8d, 0x5c12c8f
xor r8d, 0xd144e75b
sub eax, r8d
add eax, 0x9de07148
mov r8d, 0x93be37d7
xor r8d, 0x473bfc03
add eax, r8d
add eax, 0xec0d84d6
mov r8d, 0x46831dde
xor r8d, 0x68b0ad7a
sub eax, r8d
sub eax, 0xec0d84d6
mov r8, qword [rcx]
mov rcx, r8
xor rcx, 0xffffffffffffffff
mov r9, 0xffffffffffffffff
movabs r10, 0xbfffffffffffffff
xor r9, r10
or rcx, r9
movabs r9, 0xbfffffffffffffff
and r8, r9
xor r8, 0xffffffffffffffff
movabs r9, 0xba9e7c18621ea830
movabs r10, 0x456183e79de157cf
xor r9, r10
xor rcx, r9
xor r8, 0xffffffffffffffff
or rcx, r8
cmp rcx, rdx
setl cl
mov byte [rsp + 0x6f], cl
cmp eax, 0xcb62ac7
jb 0x140027972
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140027468
jmp 0x1400275e2
mov rdx, qword [rsp + 0x98]
mov r8, qword [rsp + 0x88]
mov rcx, r8
sub rcx, rdx
mov qword [rsp + 0x60], rcx
mov rax, rcx
xor rax, r8
movabs r8, 0xf1a95fe57e940795
movabs r9, 0xf1a95fe57e940795
xor r8, r9
cmp rax, r8
setl al
xor rcx, rdx
cmp rcx, 0xffffffffffffffff
setg dl
xor al, 0xff
xor dl, 0xff
mov cl, 1
xor cl, 1
or al, dl
or cl, 1
xor al, 0xff
and al, cl
test al, 1
jne 0x140027501
mov r8, qword [rsp + 0x60]
mov rdx, qword [rsp + 0x78]
mov rcx, qword [rsp + 0x98]
mov r9d, 8
mov qword [rsp + 0x20], 8
call fcn.1400109f0
mov rcx, rax
mov rax, qword [rsp + 0x70]
mov qword [rax], rcx
jmp 0x1400275e2
mov eax, dword [0x1401d90b8]
xor eax, 0x636591cf
sub eax, dword [0x1401d90bc]
sub eax, 0xc0db5037
imul eax, eax, 0x4a07aa23
mov edx, eax
xor edx, 0xffffffff
and edx, 0xeddc105c
mov r8d, 0xffffffff
xor r8d, 0xeddc105c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xeddc105c
mov r8d, 0xcefbb71b
xor r8d, 0x2327a747
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0xdef3e2a7
ja 0x14002797b
mov eax, dword [0x1401d90c0]
xor eax, dword [0x1401d90c4]
mov ecx, 0x8501447a
xor ecx, 0xc6ebe67a
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x522940f7
xor edx, 0x34509b7c
mov eax, 0x92977efa
xor eax, 0x6d688105
xor edx, eax
mov eax, ecx
xor eax, edx
and eax, ecx
add eax, 0x44f2d004
sub eax, 0xe20ac0ee
mov ecx, 0x456d4238
xor ecx, 0x19f923c
sub eax, ecx
mov dword [rsp + 0x5c], eax
mov eax, 0xcd655a1
xor eax, 0xe7ff107
mov dword [rsp + 0x58], eax
call fcn.140007bb8
mov ecx, dword [rsp + 0x58]
mov eax, dword [rsp + 0x5c]
cmp eax, ecx
je 0x140027565
jmp 0x140027968
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 0x140027968
mov eax, dword [0x1401d90c8]
xor edx, edx
div dword [0x1401d90cc]
sub eax, 0xe8178cd7
sub eax, 0x19210dac
add eax, 0xe8178cd7
add eax, 0xb34c0f67
sub eax, 0x39876b60
sub eax, 0xb34c0f67
mov edx, eax
xor edx, 0xf171fa8e
xor edx, 0xffffffff
mov ecx, 0xec5cb7fa
xor ecx, 0x1d2d4d74
and ecx, edx
shl ecx, 1
sub ecx, 0xf171fa8e
sub eax, ecx
cmp eax, 0x8eb536b3
jae 0x140027984
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x70]
mov r8d, dword [0x1401d90d0]
mov edx, dword [0x1401d90d4]
sub r8d, 0xb3a4ae58
sub r8d, edx
add r8d, 0xb3a4ae58
sub r8d, 0xfb92e787
mov edx, r8d
xor edx, 0xffffffff
and edx, 0x7ce24aee
mov r9d, 0x94b04070
xor r9d, 0xe8520a9e
mov r10d, 0xfac93185
xor r10d, 0x536ce7a
xor r9d, r10d
and r8d, r9d
or edx, r8d
imul edx, edx, 0xdb0919f3
mov dword [rsp + 0x40], edx
mov rcx, qword [rcx]
add rcx, 8
shl rax, 3
add rcx, rax
xor eax, eax
mov edx, eax
call fcn.14015057d
mov rcx, qword [rsp + 0x90]
mov eax, dword [rsp + 0x40]
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0x54e62c28
ja 0x140027984
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140027728
jmp 0x140027968
mov eax, dword [0x1401d90d8]
xor eax, 0x7fe32b28
mov ecx, dword [0x1401d90dc]
mov edx, 0x41c0c1c2
xor edx, 0x24a4cbe0
add eax, edx
add eax, ecx
sub eax, 0x65640a22
mov ecx, 0x28efcabc
xor ecx, 0x481ae906
xor edx, edx
div ecx
mov ecx, 0xc86b585c
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0xdf02783f
xor ecx, 0xffffffff
or eax, 0xdf02783f
and eax, ecx
cmp eax, 0x505be204
je 0x14002798d
mov rdx, qword [rsp + 0x48]
mov eax, dword [0x1401d90e0]
mov r8d, dword [0x1401d90e4]
mov ecx, 0x25015403
xor ecx, 0x609e3793
xor r8d, ecx
mov esi, eax
and esi, esi
mov ecx, 0xc234c443
xor ecx, 0x3dcb3bbc
xor esi, ecx
xor esi, 0xffffffff
mov ecx, r8d
xor ecx, 0xffffffff
or esi, ecx
mov ecx, r8d
xor ecx, 0xffffffff
xor r8d, 0xffffffff
or ecx, r8d
xor eax, 0xffffffff
mov r8d, 0xfbcc418
xor r8d, 0xf0433be7
xor ecx, r8d
or eax, ecx
and esi, eax
mov eax, 0xdd9bdf1
xor eax, 0xf226420e
xor esi, eax
mov ecx, 0xbf38e4fc
xor ecx, 0x40c71b03
mov eax, esi
xor eax, ecx
mov r8d, 0xffffffff
xor r8d, 0xeff242c
mov r9d, 0xffffffff
xor r9d, 0x2f41de57
mov ecx, eax
and ecx, 0x2f41de57
and esi, r9d
mov r11d, 0xb1c935e4
xor r11d, 0x9e88ebb3
mov r10d, r8d
and r10d, r11d
mov r11d, 0x1b8525bb
xor r11d, 0x157a0197
and r11d, r9d
or ecx, esi
or r10d, r11d
xor ecx, r10d
or eax, r8d
xor eax, 0xffffffff
mov r8d, 0x81c80a56
xor r8d, 0xae89d401
or r8d, r9d
and eax, r8d
or ecx, eax
mov r8d, 0xabffae61
xor r8d, 0x5400519e
mov eax, ecx
xor eax, r8d
mov r8d, 0xbe34dee
xor r8d, 0x20c5d281
mov r9d, 0x7c4b0411
xor r9d, 0x83b4fbee
xor r8d, r9d
or eax, r8d
and ecx, 0x2b269f6f
xor ecx, 0xffffffff
mov r8d, 0x855c6cf7
xor r8d, 0x7aa39308
xor eax, r8d
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
mov r8d, 0xffffffff
xor r8d, 0xe0999812
mov ecx, 0xffffffff
xor ecx, 0x2738bced
or eax, r8d
or ecx, 0x2738bced
mov r8d, 0x2e9913b7
xor r8d, 0xd166ec48
xor eax, r8d
and eax, ecx
movabs r8, 0xe1e1f3117a2ab4ce
movabs rcx, 0xe1e1f3117a2ab4ce
xor r8, rcx
movabs rcx, 0xe6537945eb864159
movabs r9, 0xe6537945eb864158
xor rcx, r9
sub r8, rcx
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, 0x9d4737ca
jae 0x14002798d
mov rax, qword [rsp + 0x30]
mov cl, byte [rsp + 0x3f]
test cl, 1
mov qword [rsp + 0x50], rax
jne 0x140027963
jmp 0x140027602
call fcn.140007bb8
nop
add rsp, 0xa0
pop rsi
ret
xor eax, 0xe9fd9192
invalid
xor al, 0x33
pushfq
add ebp, ecx
loope 0x14002797d
invalid
sar bl, cl
xchg ecx, ebp
invalid
invalid
sub rsp, 0x38
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rcx
xor eax, eax
mov edx, eax
call fcn.140026f10
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x30]
add rsp, 0x38
jmp 0x140027230