Function at 0x14006e790
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0xa8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x90], rcx
call fcn.14006b577
mov qword [rsp + 0x98], rax
call fcn.14006b577
xor eax, eax
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x78], rax
cmp rax, 0x10
je 0x14006e92f
mov eax, dword [0x140203578]
and eax, dword [0x14020357c]
mov r8d, 0x81add57b
xor r8d, 0x77e052d7
mov ecx, 0xa5b37cd1
xor ecx, 0x5a4c832e
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov r8d, 0xebaf36a9
xor r8d, 0x1de2b105
mov edx, eax
and edx, r8d
or eax, 0xf64d87ac
imul eax, edx
add eax, ecx
sub eax, 0xad4fb634
add eax, 0x1770a922
add eax, 0xad4fb634
mov ecx, 0xe4629b17
xor ecx, 0xfa09802e
and ecx, eax
xor ecx, 0xffffffff
add eax, 0x1e6b1b39
mov edx, 0x88e0545e
xor edx, 0x88e0545f
add eax, edx
add eax, ecx
cmp eax, 0xe205dcbc
je 0x14006f0d4
mov rdx, qword [rsp + 0x78]
mov r8, qword [rsp + 0x88]
mov eax, dword [0x140203580]
mov ecx, dword [0x140203584]
mov r9d, 0x6a7d36ed
xor r9d, 0xb1afa058
add eax, r9d
sub eax, ecx
sub eax, 0xdbd296b5
mov ecx, 0x9d377ad7
xor ecx, 0xe35eac2c
add eax, ecx
mov r9d, 0x279e072d
xor r9d, 0x5f0aaf8c
mov ecx, eax
xor ecx, r9d
mov r9d, 0x9b11563d
xor r9d, 0x64eea9c2
xor ecx, r9d
or eax, 0x7894a8a1
and eax, ecx
or eax, 0x7bf1c339
mov ecx, 0xc8f03410
xor ecx, 0xbb649c35
mov r9b, 0x81
xor r9b, 0x81
mov byte [r8 + rdx], r9b
movabs r8, 0x8daedd29f86d5b9
movabs r9, 0x8daedd29f86d5b8
xor r8, r9
add rdx, r8
mov qword [rsp + 0x70], rdx
cmp eax, ecx
je 0x14006e875
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa0], rax
jmp 0x14006e7cd
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x6f], cl
cmp byte [rax], 0
jne 0x14006f0c2
mov al, byte [rsp + 0x6f]
add al, 0x39
movzx ecx, al
mov qword [rsp + 0x60], rcx
sub al, 0x11
ja case.0x14006e97c.3
mov rax, qword [rsp + 0x60]
lea rcx, [0x14006f104]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x5f], cl
mov al, byte [rax]
mov cl, 0x3f
xor cl, 0x3f
cmp al, cl
jne 0x14006f0c2
mov rax, qword [rsp + 0x88]
mov cl, byte [rsp + 0x5f]
mov byte [rax], cl
mov qword [rax + 8], 1
jmp 0x14006f0c2
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x5e], cl
mov al, byte [rax]
mov cl, 0x69
xor cl, 0x69
cmp al, cl
jne 0x14006f0c2
mov rax, qword [rsp + 0x88]
mov cl, byte [rsp + 0x5e]
mov byte [rax], cl
mov qword [rax + 8], 2
jmp 0x14006f0c2
mov eax, dword [0x140203588]
mov ecx, dword [0x14020358c]
xor ecx, 0xd7701f4c
imul eax, ecx
mov ecx, eax
xor ecx, 0x3c95a014
mov edx, 0x2924f232
xor edx, 0x15b15226
mov r8d, 0x8a2af738
xor r8d, 0x75d508c7
xor edx, r8d
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x437e9092
xor ecx, 0x2308cf6c
and ecx, eax
mov edx, 0xe7167dd6
xor edx, 0x18e98229
xor ecx, edx
add eax, 0x60765ffe
add eax, 1
add eax, ecx
sub eax, 0x54d5daa
sub eax, 0xf680c473
add eax, 0x54d5daa
mov ecx, 0xd939bc60
xor ecx, 0xb2202be2
cmp eax, ecx
jbe 0x14006f0dd
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x140203590]
mov edx, dword [0x140203594]
xor edx, 0xea48ead1
imul eax, edx
mov r8d, 0x47f61cca
xor r8d, 0x4c17be24
mov edx, eax
and edx, r8d
shl edx, 1
mov r8d, 0x4054fa16
xor r8d, 0x4bb558f8
xor eax, r8d
add eax, edx
mov r9d, 0xffffffff
xor r9d, 0x1f78dfc0
mov r8d, eax
and r8d, r9d
mov edx, eax
or edx, r9d
xor edx, 0xffffffff
imul edx, r8d
mov r9d, 0xa32a3c2f
xor r9d, 0xbc52e3ef
mov r8d, eax
and r8d, r9d
or eax, 0x1f78dfc0
imul eax, r8d
add eax, edx
mov edx, eax
and edx, 0xf7976ab7
xor edx, 0xffffffff
add eax, 0xf7976ab7
add eax, 1
add eax, edx
mov dword [rsp + 0x58], eax
call fcn.14003769c
mov rcx, qword [rsp + 0x98]
mov dl, al
mov eax, dword [rsp + 0x58]
mov byte [rsp + 0x5c], dl
mov cl, byte [rcx]
mov dl, 0x36
xor dl, 0x36
cmp cl, dl
sete cl
mov byte [rsp + 0x5d], cl
cmp eax, 0xdae64901
jbe 0x14006ea8d
mov al, byte [rsp + 0x5d]
test al, 1
jne 0x14006eb6a
jmp 0x14006f0c2
mov rax, qword [rsp + 0x88]
mov cl, byte [rsp + 0x5c]
mov byte [rax], cl
movabs rcx, 0x197ac28c5c164338
movabs rdx, 0x197ac28c5c16433c
xor rcx, rdx
mov qword [rax + 8], rcx
jmp 0x14006f0c2
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x57], cl
cmp byte [rax], 0
jne 0x14006f0c2
mov rax, qword [rsp + 0x88]
mov cl, byte [rsp + 0x57]
mov byte [rax], cl
mov qword [rax + 8], 8
jmp 0x14006f0c2
mov ecx, dword [0x140203598]
xor ecx, 0x29b3946
mov eax, dword [0x14020359c]
xor eax, 0x676db1e2
imul ecx, eax
mov edx, 0xa82ba56
xor edx, 0xf57d45a9
mov eax, ecx
xor eax, edx
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x797d4d9a
or edx, 0x797d4d9a
xor edx, 0xffffffff
xor eax, 0xffffffff
mov r8d, 0xd83af0ce
xor r8d, 0x27c50f31
xor edx, r8d
and eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x797d4d9a
and ecx, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x3f18c46d
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0xa9a17bff
sub eax, ecx
cmp eax, 0x1783c9ad
jb 0x14006f0e6
mov rcx, qword [rsp + 0x80]
mov edx, dword [0x1402035a0]
mov eax, 0xdc2c7830
xor eax, 0xd19ffe59
xor edx, eax
sub edx, dword [0x1402035a4]
and edx, 0x639fbaa5
mov eax, edx
and eax, 0xfc1109ee
xor edx, 0xfc1109ee
or eax, edx
mov edx, eax
add edx, 1
xor eax, 0xffffffff
mov r8d, 0x38c71604
xor r8d, 0xfcf8cc70
or eax, r8d
add eax, edx
mov dword [rsp + 0x50], eax
call fcn.14003769c
mov rcx, qword [rsp + 0x98]
mov dl, al
mov eax, dword [rsp + 0x50]
mov byte [rsp + 0x55], dl
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x56], cl
cmp eax, 0xf4b25469
ja 0x14006f0e6
mov al, byte [rsp + 0x56]
test al, 1
jne 0x14006ecf0
jmp 0x14006f0c2
mov eax, dword [0x1402035a8]
imul eax, dword [0x1402035ac]
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
mov edx, 0x6dd98b72
xor edx, 0xe984266
or eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x1e411c3b
shl ecx, 1
mov edx, 0xc167d19a
xor edx, 0xdf26cda1
add eax, edx
sub eax, ecx
imul eax, eax, 0xf17bd32
cmp eax, 0x4cab94f4
jae 0x14006f0ef
mov rcx, qword [rsp + 0x88]
mov dl, byte [rsp + 0x55]
mov edi, dword [0x1402035b0]
mov esi, dword [0x1402035b4]
mov r8d, 0x3a5ffb95
xor r8d, 0xc5a0046a
mov eax, edi
xor eax, r8d
mov r10d, esi
xor r10d, 0xffffffff
mov r9d, 0x893392cc
xor r9d, 0x63c53e7a
mov r8d, 0x2302a354
xor r8d, 0xdcfd5cab
xor r9d, r8d
mov r8d, eax
and r8d, 0xeaf6acb6
and edi, r9d
mov r11d, r10d
and r11d, 0xeaf6acb6
and esi, r9d
or r8d, edi
or r11d, esi
xor r8d, r11d
or eax, r10d
mov r10d, 0xe672e5cd
xor r10d, 0x198d1a32
xor eax, r10d
or r9d, 0xeaf6acb6
and eax, r9d
or r8d, eax
mov eax, 0x1151246c
xor eax, 0xa41e83d5
sub r8d, eax
mov r9d, 0xffffffff
xor r9d, 0x85186cd9
mov eax, r8d
xor eax, r9d
and eax, r8d
xor r8d, r8d
sub r8d, eax
xor eax, eax
sub eax, 0xa2cbb796
add r8d, eax
mov eax, 0x81bc66e4
xor eax, 0x81bc66e4
sub eax, r8d
mov byte [rcx], dl
mov qword [rcx + 8], 0x10
cmp eax, 0xc4ca1d8e
je 0x14006ed3f
jmp 0x14006f0c2
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x4f], cl
cmp byte [rax], 0
jne 0x14006f0c2
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x4e], cl
mov al, byte [rax]
mov cl, 0xd0
xor cl, 0xd0
cmp al, cl
jne 0x14006f0c2
mov rax, qword [rsp + 0x88]
mov dl, byte [rsp + 0x4e]
mov cl, byte [rsp + 0x4f]
movzx ecx, cl
mov byte [rax], dl
mov qword [rax + 8], rcx
jmp 0x14006f0c2
mov eax, dword [0x1402035b8]
or eax, dword [0x1402035bc]
imul r8d, eax, 0xb65c702f
add r8d, 0x869df5eb
mov eax, r8d
xor eax, 0xffffffff
and eax, 0x139509ae
mov edx, 0xffffffff
xor edx, 0x139509ae
and r8d, edx
mov ecx, 0xffffffff
xor ecx, 0x2a9e6e67
and ecx, 0x139509ae
and edx, 0x2a9e6e67
or eax, r8d
or ecx, edx
xor eax, ecx
mov ecx, 0x92c810d1
xor ecx, 0x26b4e968
cmp eax, ecx
je 0x14006f0f8
mov rcx, qword [rsp + 0x80]
mov edx, dword [0x1402035c0]
mov eax, dword [0x1402035c4]
add edx, 0xaedfd592
sub edx, eax
mov eax, 0x963bb52e
xor eax, 0x38e460bc
sub edx, eax
add edx, 0x126c906b
mov r8d, 0xeb71041f
xor r8d, 0x9ef68d60
mov eax, 0x1edf3623
xor eax, 0xe120c9dc
xor r8d, eax
mov eax, edx
xor eax, r8d
and eax, edx
or eax, eax
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xebee4c81
mov r8d, 0xffffffff
xor r8d, 0xebee4c81
and edx, r8d
xor eax, 0xffffffff
xor edx, 0xffffffff
and eax, edx
mov dword [rsp + 0x44], eax
call fcn.14006dc30
mov rcx, qword [rsp + 0x98]
mov dx, ax
mov eax, dword [rsp + 0x44]
mov word [rsp + 0x4a], dx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x4d], cl
cmp eax, 0x23259fa5
ja 0x14006f0f8
mov al, byte [rsp + 0x4d]
test al, 1
jne 0x14006efb4
jmp 0x14006f0c2
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x43], cl
cmp byte [rax], 0
jne 0x14006f0c2
mov rax, qword [rsp + 0x88]
mov dl, byte [rsp + 0x43]
mov cx, word [rsp + 0x4a]
movzx ecx, cx
mov byte [rax], dl
mov qword [rax + 8], rcx
jmp 0x14006f0c2
mov rcx, qword [rsp + 0x80]
call fcn.14006dd80
mov ecx, eax
mov rax, qword [rsp + 0x98]
mov dword [rsp + 0x3c], ecx
mov al, byte [rax]
mov cl, 0x70
xor cl, 0x70
cmp al, cl
jne 0x14006f0c2
mov rcx, qword [rsp + 0x80]
call fcn.14003769c
mov cl, al
mov rax, qword [rsp + 0x98]
mov byte [rsp + 0x3b], cl
cmp byte [rax], 0
jne 0x14006f0c2
mov rax, qword [rsp + 0x88]
mov dl, byte [rsp + 0x3b]
mov ecx, dword [rsp + 0x3c]
mov ecx, ecx
mov byte [rax], dl
mov qword [rax + 8], rcx
jmp 0x14006f0c2
lea rcx, [0x140215088]
call fcn.14006e4c2
mov rcx, rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x30], rcx
cmp byte [rax], 0
jne 0x14006f0c2
mov rcx, qword [rsp + 0x30]
movabs rax, 0xc1c0df9562e9ef64
movabs rdx, 0x3e3f206a8457a943
xor rax, rdx
lea rdx, [0x140214fd5]
lea r8, [0x140214ff7]
lea r9, [0x140214fc5]
mov qword [rsp + 0x20], rax
call fcn.1400139e0
mov rax, qword [rsp + 0x90]
add rsp, 0xa8
pop rdi
pop rsi
ret
xor ch, byte [rax - 0x6716a81a]
idiv edi
call [rbp + 0x19]
ret
pop rbp
sbb ebx, eax
jmp 0x14006ea8d
invalid
jmp 0x14006f0a3
jg 0x13e00da5a
invalid