Function at 0x1400e6360
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0xa8
mov qword [rsp + 0x88], r8
mov qword [rsp + 0x90], rdx
mov qword [rsp + 0x98], rcx
mov al, byte [rdx + 0x10]
mov byte [rsp + 0xa7], al
sub al, 1
je 0x1400e63aa
jmp 0x1400e6396
mov al, byte [rsp + 0xa7]
sub al, 3
je 0x1400e691f
jmp 0x1400e68b7
mov rcx, qword [rsp + 0x90]
mov rax, qword [rsp + 0x88]
mov r8, qword [rcx]
mov rax, qword [rax + 8]
mov qword [rsp + 0x68], rax
mov r10b, byte [rax + r8 + 8]
mov r11b, 0x95
xor r11b, 0xb8
cmp r10b, r11b
sete al
mov byte [rsp + 0x73], al
and al, 1
movzx eax, al
mov r9d, eax
mov rdx, r8
and rdx, r9
shl rdx, 1
mov rax, r8
xor rax, r9
add rax, rdx
mov edx, 0xffffffff
mov r9d, 1
cmp r10b, r11b
cmove edx, r9d
mov dword [rsp + 0x74], edx
mov rcx, qword [rcx + 8]
mov rdx, rcx
and rdx, r8
shl rdx, 1
xor rcx, r8
add rcx, rdx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x80], rax
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x60], rax
cmp rax, rcx
jge 0x1400e66ed
mov eax, dword [0x1402512c0]
mov edx, dword [0x1402512c4]
mov ecx, edx
and ecx, eax
mov r8d, 0xe3fa7437
xor r8d, 0x1c058bc8
xor ecx, r8d
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0x5a3d2013
xor ecx, 0x5031e169
add eax, ecx
mov ecx, eax
and ecx, 0x588f3df2
xor ecx, 0xffffffff
add eax, 0x588f3df2
add eax, 1
add eax, ecx
mov ecx, 0x3fcc9be1
xor edx, edx
div ecx
cmp eax, 0x8be18634
ja 0x1400e6a0b
mov rcx, qword [rsp + 0x68]
mov edx, dword [str.cRKd]
mov eax, 0xb13f268f
xor eax, 0x170a7eab
xor edx, eax
mov r8d, dword [0x1402512cc]
xor r8d, 0xd88d94f5
xor eax, eax
sub eax, edx
xor edx, edx
sub edx, r8d
add eax, edx
xor edx, edx
sub edx, eax
mov eax, 0xbcd9a1b8
xor eax, 0xce4034b4
sub edx, eax
mov r8d, 0xd8e4cdd9
xor r8d, 0xa0510431
mov eax, 0x2be4baab
xor eax, 0xd41b4554
xor r8d, eax
mov eax, edx
xor eax, r8d
and eax, edx
mov r8d, 0x97e635c5
xor edx, edx
div r8d
mov rdx, qword [rsp + 0x60]
mov cl, byte [rcx + rdx + 8]
mov byte [rsp + 0x5e], cl
mov dl, 0xb0
xor dl, 0x60
add cl, dl
cmp cl, 0xa
setb cl
mov byte [rsp + 0x5f], cl
cmp eax, 0x7d72779d
jae 0x1400e64a6
mov al, byte [rsp + 0x5f]
test al, 1
jne 0x1400e65b9
jmp 0x1400e654c
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140262f60]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140262fe8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140262ff0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140262f60]
lea r8, [0x140262fb5]
lea r9, [0x140262f7b]
mov qword [rsp + 0x20], 0x613f540c
call fcn.14001203f
jmp 0x1400e691f
mov al, byte [rsp + 0x5e]
movzx eax, al
mov dword [rsp + 0x54], eax
mov ecx, 0xff182f06
xor ecx, 0xe7d0f9
xor eax, ecx
add eax, 0x80000030
mov ecx, 0x9ecb477b
xor ecx, 0x9ecb477a
add eax, ecx
mov ecx, 0xa
xor edx, edx
div ecx
mov edx, eax
mov rax, qword [rsp + 0x98]
mov ecx, 0x5b4b70d9
xor ecx, 0x5b4b70d9
sub ecx, edx
mov eax, dword [rax]
mov dword [rsp + 0x58], eax
cmp eax, ecx
jge 0x1400e66b5
movabs rcx, 0x2c59b1be69d63f38
movabs rax, 0x2c59b1be69d63f78
xor rcx, rax
movabs rdx, 0x9e54d04e82d3d1c0
movabs rax, 0x9e54d04e82d3d1c8
xor rdx, rax
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140262f60]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140262fe8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140262ff0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
movabs rax, 0x9fa4750cdb6eb2e7
movabs rdx, 0x9fa4750cfa20bf58
xor rax, rdx
lea rdx, [0x140262f60]
lea r8, [0x140262fb5]
lea r9, [0x140262f7b]
mov qword [rsp + 0x20], rax
call fcn.14001203f
jmp 0x1400e691f
mov rax, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x98]
mov r9d, dword [rsp + 0x54]
mov edx, dword [rsp + 0x58]
imul r8d, edx, 0xa
xor edx, edx
sub edx, r9d
add edx, 0x30
add edx, r8d
mov dword [rcx], edx
add rax, 1
mov qword [rsp + 0x80], rax
jmp 0x1400e642e
mov al, byte [rsp + 0x73]
mov rcx, qword [rsp + 0x98]
mov ecx, dword [rcx]
mov dword [rsp + 0x50], ecx
sub ecx, 0x80000000
setne cl
or al, cl
test al, 1
jne 0x1400e67a3
movabs rcx, 0x8a60666eea513bd4
movabs rax, 0x8a60666eea513b94
xor rcx, rax
movabs rdx, 0x84200ccda46bf51d
movabs rax, 0x84200ccda46bf515
xor rdx, rax
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140262f60]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140262fe8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140262ff0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140262f60]
lea r8, [0x140262fb5]
lea r9, [0x140262f7b]
mov qword [rsp + 0x20], 0xffffffffec887a3c
call fcn.14001203f
jmp 0x1400e691f
mov ecx, dword [rsp + 0x74]
mov edx, dword [rsp + 0x50]
movsxd rax, edx
movsxd r10, ecx
mov r8, rax
xor r8, 0xffffffffffffffff
mov r9, r10
and r9, r8
movabs r8, 0xdc0795be08d21389
movabs r11, 0x23f86a41f72dec76
xor r8, r11
mov r11, r10
xor r11, r8
mov r8, rax
and r8, r11
imul r8, r9
mov r9, rax
and r9, r10
or rax, r10
imul rax, r9
add rax, r8
mov qword [rsp + 0x38], rax
cvtsi2sd xmm1, edx
cvtsi2sd xmm0, ecx
mulsd xmm0, xmm1
movsd qword [rsp + 0x40], xmm0
cvtsi2sd xmm1, rax
movsd qword [rsp + 0x48], xmm1
ucomisd xmm0, xmm1
jne 0x1400e682c
jp 0x1400e682c
jmp 0x1400e687b
movsd xmm1, qword [rsp + 0x40]
movsd xmm0, qword [rsp + 0x48]
subsd xmm0, xmm1
call fcn.14024ac10
movaps xmm1, xmm0
movsd xmm0, qword [rsp + 0x40]
movsd qword [rsp + 0x30], xmm1
call fcn.14024ac10
movsd xmm1, qword [rsp + 0x30]
movsd xmm2, qword [0x140262f58]
mulsd xmm1, xmm2
ucomisd xmm0, xmm1
jae 0x1400e687b
call fcn.140008c92
jmp 0x1400e691f
mov rax, qword [rsp + 0x38]
add rax, 0xffffffff80000000
movabs rcx, 0xffffffff00000000
cmp rax, rcx
jae 0x1400e68a3
call fcn.140008c92
jmp 0x1400e691f
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x38]
mov dword [rax], ecx
jmp 0x1400e691f
mov ecx, 0x40
mov edx, 8
call fcn.140012610
mov rcx, rax
mov rax, qword [0x140264728]
mov qword [rcx], rax
lea rax, [0x140262f60]
mov qword [rcx + 0x10], rax
mov rax, qword [0x140262fe8]
mov qword [rcx + 0x18], rax
mov rax, qword [0x140262ff0]
mov qword [rcx + 0x20], rax
mov qword [rcx + 8], 0
lea rdx, [0x140262f60]
lea r8, [0x140262fb5]
lea r9, [0x140262f7b]
mov qword [rsp + 0x20], 0xffffffff9c0cc047
call fcn.14001203f
mov eax, dword [0x1402512d0]
mov ecx, dword [0x1402512d4]
xor ecx, 0xe864643f
imul eax, ecx
mov edx, eax
and edx, 0xcf7c9f1c
mov ecx, 0xe53d65c6
xor ecx, 0xe53d65c4
imul ecx, edx
add eax, 0xcf7c9f1c
sub eax, ecx
mov ecx, 0xb7bbddf5
xor ecx, 0x6a629df2
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x2cf4f060
xor edx, 0xfdcc9f4c
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0xd1386f2c
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0xd1386f2c
mov r8d, 0x5ed5dbf1
xor r8d, 0x8fedb4dd
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x127d02be
jb 0x1400e6a14
mov eax, dword [0x1402512d8]
mov ecx, dword [0x1402512dc]
mov edx, 0x98787377
xor edx, 0xefb2ffa6
xor ecx, edx
or eax, ecx
xor eax, 0xba8a02a6
mov ecx, 0xffffffff
xor ecx, 0xa43de066
add eax, ecx
mov ecx, 0xfb7a20eb
xor ecx, 0xfb7a20ea
add eax, ecx
mov ecx, 0x6b0be4e1
xor edx, edx
div ecx
mov ecx, 0xb281703f
xor ecx, 0x399a09f5
cmp eax, ecx
ja 0x1400e6a14
add rsp, 0xa8
ret
sbb edx, esp
invalid
iretq