Function at 0x140007b00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xf8
mov qword [rsp + 0xc0], r9
mov qword [rsp + 0xe0], r8
mov qword [rsp + 0xc8], rdx
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rcx
call fcn.140007767
mov r9, qword [rsp + 0xe0]
mov qword [rsp + 0xe8], rax
movabs rcx, 0xca17f59038495c12
movabs rax, 0xca17f59038495c10
xor rcx, rax
mov r8, r9
sar r8, cl
mov rcx, r8
add rcx, r9
mov qword [rsp + 0xf0], rcx
mov rax, rcx
or rax, rax
xor rax, 0xffffffffffffffff
mov rdx, r9
or rdx, rdx
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
movabs r10, 0x398d5543338da884
movabs r11, 0xc672aabccc72577b
xor r10, r11
xor rdx, r10
and rax, rdx
mov rdx, rcx
or rdx, r9
xor rdx, 0xffffffffffffffff
xor rax, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
and rax, rdx
mov rdx, rcx
and rdx, r8
shl rdx, 1
add rcx, r8
sub rcx, rdx
or rax, rax
movabs rdx, 0x72317824ed2e382b
movabs r8, 0x8dce87db12d1c7d4
xor rdx, r8
xor rax, rdx
or rcx, rcx
xor rcx, 0xffffffffffffffff
or rax, rcx
xor rax, 0xffffffffffffffff
cmp rax, 0
jge 0x140007c08
call fcn.140008c92
jmp 0x1400085ff
mov rax, qword [rsp + 0xf0]
movabs rcx, 0xc90b88a577cebb70
movabs rdx, 0xc90b88a577cebb70
xor rcx, rdx
cmp rax, rcx
jge 0x140007c70
mov rcx, qword [rsp + 0xf0]
movabs rdx, 0xed06c03b7fda39e0
movabs rax, 0xed06c03b7fda39e0
xor rdx, rax
movabs r8, 0xe1304432c6a5f7d9
movabs rax, 0x9ecfbbcd395a0826
xor r8, rax
call fcn.14000d792
jmp 0x1400085ff
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0xd0]
call fcn.140019380
xor eax, eax
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xb8]
mov qword [rsp + 0xa8], rcx
mov ax, word [rax + rcx*2]
mov word [rsp + 0xb6], ax
cmp ax, 0
je 0x1400085ff
mov rax, qword [rsp + 0xe8]
mov cx, word [rsp + 0xb6]
movzx ecx, cx
mov qword [rsp + 0xa0], rcx
cmp byte [rax], 0
jne 0x1400085ff
mov r9, qword [rsp + 0xa8]
movabs rcx, 0xcef38afda9ef862b
movabs rax, 0x7fa5fb1c9261a6a2
xor rcx, rax
mov rax, r9
sub rax, rcx
add rax, 1
movabs rcx, 0x888c3a0df03067c6
movabs rdx, 0x39da4beccbbe474f
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x98], rax
mov rcx, r9
xor rcx, 0xffffffffffffffff
movabs rdx, 0x2a0ca5d61daeb40b
and rcx, rdx
mov r8, 0xffffffffffffffff
movabs rdx, 0x2a0ca5d61daeb40b
xor r8, rdx
and r9, r8
mov rdx, 0xffffffffffffffff
xor rdx, 0xffffffffffffffff
movabs r10, 0x2a0ca5d61daeb40b
and rdx, r10
and r8, 0xffffffffffffffff
or rcx, r9
or rdx, r8
xor rcx, rdx
and rax, rcx
movabs rcx, 0xb4b40a4d46a33027
movabs rdx, 0xb4b40a4d46a33027
xor rcx, rdx
cmp rax, rcx
jge 0x140007da9
call fcn.140008c92
jmp 0x1400085ff
mov ax, word [rsp + 0xb6]
mov cx, ax
xor cx, 0xfc00
xor cx, 0xffff
mov dx, 0x95cd
xor dx, 0x69cd
or ax, dx
and ax, cx
mov word [rsp + 0x96], ax
mov cx, 0x1570
xor cx, 0xcd70
cmp ax, cx
jne 0x140007f21
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rsp + 0xc8]
mov rdx, qword [rsp + 0x98]
mov cx, word [rcx + rdx*2]
mov word [rsp + 0x86], cx
and cx, 0xfc00
cmp cx, 0xdc00
mov qword [rsp + 0x88], rax
jne 0x140007f4a
mov rdx, qword [rsp + 0xa8]
mov r8w, word [rsp + 0x86]
mov rax, qword [rsp + 0xa0]
shl rax, 0xa
mov rcx, rax
add rcx, 1
movabs r9, 0xc73a55a9a6c84c93
movabs r10, 0x38c5aa565937b36c
xor r9, r10
xor rax, r9
movabs r9, 0xde45f0dcd8b42a58
movabs r10, 0xde45f0dcd8bbd658
xor r9, r10
or rax, r9
add rax, rcx
mov r9w, 0xffff
xor r9w, 0x3ff
mov cx, r8w
xor cx, r9w
and cx, r8w
movzx ecx, cx
or rax, rcx
xor ecx, ecx
sub rcx, rax
xor eax, eax
sub rax, 0x10000
add rcx, rax
xor eax, eax
sub rax, rcx
movabs r8, 0xc22dc502297f9191
movabs rcx, 0x5fff59a6ba8981c5
xor r8, rcx
mov rcx, rdx
add rcx, r8
movabs r8, 0x51d0fbc2caaf58cf
movabs r9, 0x51d0fbc2caaf58cd
xor r8, r9
add rcx, r8
movabs r8, 0x9dd29ca493f61054
sub rcx, r8
mov r8, 0xfffffffffffffffe
sub r8, rdx
mov rdx, rcx
and rdx, r8
cmp rdx, 0
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jge 0x1400083d2
call fcn.140008c92
jmp 0x1400085ff
mov rcx, qword [rsp + 0xc0]
mov rax, qword [rsp + 0xa0]
mov dx, word [rsp + 0x96]
cmp dx, 0xdc00
cmove rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x68], rax
cmp rax, 0x80
jge 0x140008042
mov rax, qword [rsp + 0x68]
movabs rcx, 0x660d474786632a3b
movabs rdx, 0x660d474786632a3b
xor rcx, rdx
cmp rax, rcx
jge 0x140008027
mov eax, dword [0x14024b520]
xor eax, dword [0x14024b524]
mov ecx, 0x2df3b3aa
xor ecx, 0x2b1495f
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0xccd13c77
xor ecx, 0xffffffff
add eax, 0xccd13c77
add eax, 1
add eax, ecx
mov ecx, 0x91673c51
xor ecx, 0x540de3ec
or eax, ecx
mov ecx, 0xaa5a52f2
xor ecx, 0x965e7ab5
cmp eax, ecx
je 0x14000860f
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x14024b528]
xor edx, edx
div dword [0x14024b52c]
imul eax, eax, 0x4dd3b3fe
and eax, 0xf3d5b757
xor edx, edx
sub edx, 0x42c2e8c3
sub eax, edx
mov dword [rsp + 0x64], eax
xor eax, eax
mov edx, eax
mov r8d, 0xff
call fcn.14000d792
mov eax, dword [rsp + 0x64]
cmp eax, 0xbc095e5a
ja 0x14000860f
jmp 0x1400085ff
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x68]
mov byte [rsp + 0x57], cl
mov qword [rsp + 0x58], rax
jmp 0x1400085d2
mov rax, qword [rsp + 0x68]
cmp rax, 0x800
jae 0x1400080d1
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0xd0]
shr rax, 6
mov dl, al
mov r8b, 0xec
xor r8b, 0x2c
mov al, 0x87
xor al, 0x78
xor r8b, al
mov al, dl
and al, r8b
mov r8b, dl
xor r8b, 0xc0
add dl, r8b
sub dl, al
call fcn.140008640
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x98]
xor cl, 0xff
mov r8b, 0xff
xor r8b, 0x3f
mov dl, 0xff
xor dl, 0x80
or cl, r8b
or dl, 0x80
xor cl, 0xff
and cl, dl
mov dl, 0xa4
xor dl, 0x24
and dl, cl
xor dl, 0xff
add cl, 0x80
add cl, 1
add cl, dl
mov byte [rsp + 0x57], cl
mov qword [rsp + 0x58], rax
jmp 0x1400085d2
mov rax, qword [rsp + 0x68]
cmp rax, 0x10000
jae 0x140008296
mov eax, dword [0x14024b530]
mov ecx, 0x71965039
xor ecx, 0x4d28aad4
xor eax, ecx
xor edx, edx
div dword [0x14024b534]
mov ecx, 0x3507877c
xor ecx, 0x1006682
and eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x37f71bcc
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0xf018adf
xor r8d, 0xf0fe7520
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x37f71bcc
or eax, 0x37f71bcc
imul eax, edx
add eax, ecx
mov r8d, 0xffffffff
xor r8d, 0x79e7e1b7
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x79e7e1b7
or eax, 0x79e7e1b7
imul eax, edx
add eax, ecx
mov ecx, 0x1d88a951
xor ecx, 0x854b7b54
cmp eax, ecx
je 0x140008618
mov eax, dword [0x14024b538]
xor eax, 0xdb089eaf
mov r8d, dword [0x14024b53c]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, r8d
and edx, ecx
mov r9d, r8d
xor r9d, 0xffffffff
mov ecx, eax
and ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x5a309be8
xor edx, edx
div ecx
mov ecx, eax
mov rax, qword [rsp + 0x68]
add ecx, 0x12dcc376
add ecx, 0x1fd7966e
mov edx, 0x3fbd8e4a
xor edx, 0x5232147
add ecx, edx
sub ecx, 0x1fd7966e
mov dword [rsp + 0x50], ecx
movabs rcx, 0x15fbff5953d98463
movabs rdx, 0x15fbff5953d9846f
xor rcx, rdx
shr rax, cl
mov rcx, qword [rsp + 0xd0]
mov dl, al
mov al, dl
and al, 0xe0
xor al, 0xff
add dl, 0xe0
add dl, 1
add dl, al
call fcn.140008640
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x68]
shr rax, 6
mov dl, al
mov al, dl
add al, 1
xor dl, 0xff
or dl, 0x3f
add dl, al
or dl, 0x80
call fcn.140008640
mov rcx, qword [rsp + 0x68]
mov eax, dword [rsp + 0x50]
mov dl, cl
mov cl, 0x7e
xor cl, 0x41
and dl, cl
mov cl, dl
and cl, 0x80
xor dl, 0x80
or cl, dl
mov byte [rsp + 0x56], cl
cmp eax, 0xcc558f30
ja 0x140008188
mov rax, qword [rsp + 0x98]
mov cl, byte [rsp + 0x56]
mov byte [rsp + 0x57], cl
mov qword [rsp + 0x58], rax
jmp 0x1400085d2
mov edx, dword [0x14024b540]
mov eax, dword [0x14024b544]
xor eax, 0x2fff641a
mov ecx, edx
xor ecx, eax
xor eax, 0xffffffff
and edx, eax
mov eax, 0xaad4f8b4
xor eax, 0xaad4f8b6
imul eax, edx
sub eax, ecx
xor eax, 0xf02901bf
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x9775d69c
xor edx, 0x1c608a96
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x8b155c0a
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x2482ce7e
xor r8d, 0xaf979274
mov edx, eax
and edx, r8d
or eax, 0x8b155c0a
imul eax, edx
add eax, ecx
mov ecx, 0x597a7b06
xor ecx, 0xa68584f9
mov edx, eax
xor edx, ecx
and edx, 0x1f948547
mov r8d, 0xffffffff
xor r8d, 0x1f948547
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x1f948547
or eax, 0x1f948547
imul eax, edx
add eax, ecx
cmp eax, 0x49a0ecc2
ja 0x140008621
mov rcx, qword [rsp + 0x68]
mov eax, dword [0x14024b548]
add eax, dword [0x14024b54c]
or eax, 0x241d3b5a
mov r8d, 0xede3150
xor r8d, 0xa8d3a9f4
mov edx, eax
and edx, r8d
shl edx, 1
mov r8d, 0x495b0e12
xor r8d, 0xef5696b6
add eax, r8d
sub eax, edx
and eax, 0x3aa04ad2
cmp rcx, 0x110000
setb cl
mov byte [rsp + 0x4f], cl
cmp eax, 0x80b40c53
ja 0x140008621
mov rax, qword [rsp + 0x68]
mov rcx, qword [rsp + 0x98]
mov dl, byte [rsp + 0x4f]
test dl, 1
mov qword [rsp + 0x70], rcx
mov qword [rsp + 0x78], rax
jne 0x1400083d2
jmp 0x1400084c1
mov rcx, qword [rsp + 0xd0]
mov rdx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x78]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdx
shr rax, 0x12
mov dl, al
xor dl, 0xff
mov r8b, 0xff
xor r8b, 0xf0
and dl, r8b
or al, 0xf0
xor al, 0xff
xor dl, 0xff
mov r8b, 6
xor r8b, 0xf9
xor al, r8b
and dl, al
call fcn.140008640
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x38]
shr rax, 0xc
mov dl, 0x27
xor dl, 0x18
and al, dl
mov dl, al
xor dl, 0xff
mov r8b, 0xff
xor r8b, 0x80
and dl, r8b
xor al, 0xff
mov r8b, 0xff
xor r8b, 0x80
and al, r8b
xor dl, 0xff
xor al, 0xff
and dl, al
call fcn.140008640
mov rcx, qword [rsp + 0xd0]
mov rax, qword [rsp + 0x38]
shr rax, 6
mov dl, al
mov al, dl
add al, 1
mov r8b, 0xd0
xor r8b, 0x2f
xor dl, r8b
mov r8b, 0x5f
xor r8b, 0x60
or dl, r8b
add dl, al
mov al, dl
and al, 0x80
xor al, 0xff
add dl, 0x80
mov r8b, 0x47
xor r8b, 0x46
add dl, r8b
add dl, al
call fcn.140008640
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
and cl, 0x3f
mov dl, 0x53
xor dl, 0xd3
or cl, dl
mov byte [rsp + 0x57], cl
mov qword [rsp + 0x58], rax
jmp 0x1400085d2
mov ecx, dword [0x14024b550]
mov eax, dword [0x14024b554]
xor eax, 0x40ec5fee
imul ecx, eax
mov eax, ecx
and eax, 0x44a04cc1
or ecx, 0x44a04cc1
add eax, ecx
mov ecx, 0xc4eb1e5
xor ecx, 0x6e4bd11d
xor edx, edx
div ecx
mov ecx, 0xc25ca268
xor ecx, 0x3da35d97
xor eax, ecx
mov edx, 0xffffffff
xor edx, 0x1127b23d
mov ecx, 0x6392450d
xor ecx, 0xb3ee5b14
mov r8d, 0x22961ce7
xor r8d, 0xdd69e318
xor ecx, r8d
or eax, edx
or ecx, 0xd07c1e19
mov edx, 0x1f36a731
xor edx, 0xe0c958ce
xor eax, edx
and eax, ecx
mov ecx, 0xe2a83b87
xor ecx, 0x372f9d53
cmp eax, ecx
jae 0x14000862a
mov rcx, qword [rsp + 0xd0]
mov eax, dword [0x14024b558]
add eax, dword [0x14024b55c]
xor eax, 0xb1292182
mov edx, 0x624f8f80
xor edx, 0x624f8f80
mov r8d, 0xb219a83d
xor r8d, 0x2c3d28bc
sub edx, r8d
add eax, edx
sub eax, 0x849e418e
mov dword [rsp + 0x34], eax
mov edx, 0xef
call fcn.140008640
mov rcx, qword [rsp + 0xd0]
mov edx, 0xbf
call fcn.140008640
mov eax, dword [rsp + 0x34]
cmp eax, 0x19fccc62
je 0x140008550
mov rax, qword [rsp + 0x98]
mov cl, 0xbd
mov byte [rsp + 0x57], cl
mov qword [rsp + 0x58], rax
jmp 0x1400085d2
mov rcx, qword [rsp + 0xd0]
mov dl, byte [rsp + 0x57]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x28], rax
call fcn.140008640
mov rax, qword [rsp + 0x28]
mov qword [rsp + 0xb8], rax
jmp 0x140007c8f
mov rax, qword [rsp + 0xd8]
add rsp, 0xf8
ret
mov cl, 0xf
invalid
invalid
xchg byte [rdi + 0x2e], bh
pop rsp
jmp 0x14000834e
fsub dword [rdx + 0x1de920f8]
invalid