Function at 0x140027550
Capabilities:
Encode data using xor

Disassembly:
push rsi
sub rsp, 0x80
mov qword [rsp + 0x70], rdx
mov qword [rsp + 0x78], rcx
mov ecx, dword [0x140217498]
mov eax, dword [0x14021749c]
mov edx, 0xdf2991b8
xor edx, 0xe072d4f3
xor eax, edx
imul ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0x3c8c19eb
xor ecx, 0x3c8c19eb
mov edx, 0x2eb1973e
xor edx, 0x12c7f0a8
sub ecx, edx
add eax, ecx
xor ecx, ecx
sub ecx, eax
mov eax, 0xf52b69e9
xor eax, 0x4d0e4662
and eax, ecx
xor eax, 0xffffffff
add ecx, 0xb8252f8b
mov edx, 0x497319d8
xor edx, 0x497319d9
add ecx, edx
add ecx, eax
mov eax, ecx
or eax, 0x594c541c
mov edx, 0x5391485a
xor edx, 0xac6eb7a5
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x594c541c
and ecx, edx
or eax, ecx
mov ecx, 0x7a86240d
xor ecx, 0x8579dbf2
xor eax, ecx
cmp eax, 0xbd58be5f
je 0x140027a70
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
mov eax, dword [0x1402174a0]
imul eax, dword [0x1402174a4]
imul eax, eax, 0xeabd7b3d
and eax, 0xc4c3280a
mov r8d, 0x127c2758
xor r8d, 0xc571076d
imul eax, r8d
mov rcx, qword [rcx]
mov qword [rsp + 0x60], rcx
cmp rcx, rdx
setg cl
mov byte [rsp + 0x6f], cl
cmp eax, 0x73f618a0
je 0x140027a70
mov al, byte [rsp + 0x6f]
test al, 1
jne 0x140027663
jmp 0x140027677
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x78]
call fcn.1400272b0
jmp 0x140027a67
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
cmp rax, rcx
jge 0x140027a67
mov rax, qword [rsp + 0x78]
mov rcx, rax
add rcx, 8
mov qword [rsp + 0x50], rcx
mov rax, qword [rax + 8]
mov qword [rsp + 0x58], rax
cmp rax, 0
je 0x14002770b
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
movabs r8, 0x75c47ff7991663f0
movabs rdx, 0x75c47ff7991663f1
xor r8, rdx
mov rdx, rax
add rdx, r8
movabs r8, 0xa6c35fc86faf7580
movabs r9, 0x593ca03790508a7f
xor r8, r9
xor rax, r8
movabs r8, 0xbfffffffffffffff
or rax, r8
add rax, rdx
cmp rax, rcx
jge 0x14002790c
mov r8, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x70]
mov r9, rcx
sub r9, r8
mov qword [rsp + 0x48], r9
mov rax, r9
xor rax, rcx
cmp rax, 0
setl cl
mov rdx, r9
xor rdx, 0xffffffffffffffff
movabs rax, 0x63d2e92c85fc3173
movabs r10, 0x4bb94800e4a10ef0
xor rax, r10
and rax, rdx
mov r10, 0xffffffffffffffff
movabs rdx, 0x286ba12c615d3f83
xor r10, rdx
and r9, r10
movabs r11, 0x3a6980e7f29172f6
movabs rdx, 0xc5967f180d6e8d09
xor r11, rdx
mov rdx, r8
xor rdx, r11
movabs r11, 0x996c4ca8a6e1f112
movabs rsi, 0xb107ed84c7bcce91
xor r11, rsi
and rdx, r11
and r8, r10
or rax, r9
or rdx, r8
xor rax, rdx
movabs rdx, 0x76adf01a978eaef1
movabs r8, 0x89520fe56871510e
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 0x14002781d
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
mov r9d, 0x20
mov qword [rsp + 0x20], 8
call fcn.140013020
mov rcx, rax
mov rax, qword [rsp + 0x50]
mov qword [rax], rcx
jmp 0x14002790c
mov eax, dword [0x1402174a8]
mov ecx, dword [str.g_jZ]
mov edx, 0x94316bd7
xor edx, 0x5f490160
xor ecx, edx
imul eax, ecx
mov ecx, 0x4e014430
xor ecx, 0xc7f66b0e
or eax, ecx
sub eax, 0x3a856e48
add eax, 0xd0db6c2b
add eax, 0x3a856e48
mov r8d, 0xffffffff
xor r8d, 0xe07288e3
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xe07288e3
or eax, 0xe07288e3
imul eax, edx
add eax, ecx
mov ecx, 0xf2808729
xor ecx, 0x83e518b1
cmp eax, ecx
ja 0x140027a79
mov eax, dword [0x1402174b0]
xor eax, dword [0x1402174b4]
mov ecx, 0x95264eb0
xor edx, edx
div ecx
mov ecx, eax
mov edx, 0x1e32504a
xor edx, 0x1d9c344
mov eax, ecx
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x1feb930e
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0xae14dce6
shl ecx, 1
mov edx, 0x6538ea66
xor edx, 0xcb2c3680
add eax, edx
sub eax, ecx
mov dword [rsp + 0x44], eax
call fcn.140008bc6
mov eax, dword [rsp + 0x44]
cmp eax, 0xe745c4f5
jae 0x140027897
jmp 0x140027a67
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x70]
mov qword [rcx], rdx
mov qword [rsp + 0x38], rax
mov rcx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x30], rax
cmp rax, rcx
jge 0x140027a67
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
mov rcx, qword [rcx]
add rcx, 8
shl rax, 5
add rcx, rax
movabs rdx, 0x32a99857a2a54ae4
movabs rax, 0x32a99857a2a54ac4
xor rdx, rax
call fcn.1400093cd
mov rdx, qword [rsp + 0x30]
xor eax, eax
mov ecx, eax
sub rcx, rdx
movabs rax, 0xbb2f3a5d2f98f1e8
movabs r8, 0xbb2f3a5d2f98f1e8
xor rax, r8
movabs r8, 0x68b2fc8c8ce03217
movabs r9, 0x68b2fc8c8ce03216
xor r8, r9
sub rax, r8
add rcx, rax
xor eax, eax
sub rax, rcx
xor rdx, 0xffffffffffffffff
movabs rcx, 0x7feed4f06932bff5
movabs r8, 0x80112b0f96cd400a
xor rcx, r8
xor rdx, rcx
mov rcx, rax
xor rcx, rdx
and rcx, rax
cmp rcx, 0
mov qword [rsp + 0x38], rax
jge 0x140027923
mov eax, dword [0x1402174b8]
or eax, dword [0x1402174bc]
mov ecx, 0xb45245e3
xor ecx, 0x564c4665
and eax, ecx
add eax, 0x2b64b355
mov ecx, 0x76d5455b
xor edx, edx
div ecx
cmp eax, 0xfbd4c07e
ja 0x140027a82
mov eax, dword [0x1402174c0]
imul eax, dword [0x1402174c4]
mov ecx, 0x84000d9b
xor ecx, 0x3529dbf9
sub eax, ecx
add eax, 0x63404cf8
mov ecx, 0x3d7eb03c
xor ecx, 0x6b83b9aa
xor edx, edx
div ecx
mov dword [rsp + 0x2c], eax
call fcn.140008bc6
mov eax, dword [rsp + 0x2c]
cmp eax, 0x3a341560
ja 0x140027a1c
jmp 0x140027a67
add rsp, 0x80
pop rsi
ret
mov dh, 0x83
invalid
call 0x129cda99b
adc eax, 0xe7fffffe
adc ebx, dword es:[rdx - 0x6e17]
out 0x26, eax
adc ebx, dword [rdx - 0x6e17]
dec dword [rdi]
invalid