Function at 0x14002f3c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rcx
add rcx, 8
mov qword [rsp + 0x58], rcx
xor eax, eax
mov qword [rsp + 0x60], rax
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x48], rdx
cmp rax, rcx
jge 0x14002f8c6
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x48]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x10
mov rcx, qword [rax]
call fcn.140012cd3
test al, 1
jne 0x14002f42f
jmp 0x14002f536
mov eax, dword [0x1401f4648]
mov edx, dword [0x1401f464c]
mov r8d, eax
xor r8d, edx
xor r8d, 0xffffffff
mov ecx, edx
and ecx, r8d
shl ecx, 1
sub ecx, edx
sub eax, ecx
xor eax, 0xffffffff
mov ecx, 0x6c51ede6
xor ecx, 0xaeb856e3
mov edx, 0x2f9b393e
xor edx, 0xd064c6c1
xor ecx, edx
mov edx, 0xffffffff
xor edx, 0x20c57037
or eax, ecx
mov ecx, 0xa63abba8
xor ecx, 0x86ffcb9f
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x49a2bf03
xor ecx, 0x960d3dd3
add eax, ecx
add eax, 0x67f7c355
sub eax, 0xdfaf82d0
add eax, 0x55429b2
mov ecx, 0x560d9d02
xor ecx, 0xccb687b9
cmp eax, ecx
jb 0x14002f917
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401f4650]
sub eax, dword [0x1401f4654]
xor edx, edx
sub edx, 0x544a443d
add eax, edx
mov r8d, 0xe3d898f
xor r8d, 0x55864349
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x58]
sub edx, 0xf1adf31
mov dword [rsp + 0x3c], edx
mov edx, 0x5670d3ce
xor edx, 0x200f0628
mov dword [rsp + 0x38], edx
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x10
mov rcx, qword [rax]
call fcn.140010f87
mov ecx, dword [rsp + 0x38]
mov eax, dword [rsp + 0x3c]
cmp eax, ecx
jb 0x14002f4ba
jmp 0x14002f536
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x20
mov rcx, qword [rax]
call fcn.140012cd3
test al, 1
jne 0x14002f567
jmp 0x14002f58b
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x20
mov rcx, qword [rax]
call fcn.140010f87
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x30
mov rcx, qword [rax]
call fcn.140012cd3
test al, 1
jne 0x14002f5bc
jmp 0x14002f6f3
mov eax, dword [0x1401f4658]
mov edx, dword [0x1401f465c]
xor eax, 0xffffffff
xor edx, 0xffffffff
mov ecx, 0x73adbd5e
xor ecx, 0x7f137975
mov r8d, 0x2564b25f
xor r8d, 0xda9b4da0
xor ecx, r8d
or eax, edx
or ecx, 0xcbec42b
xor eax, 0xffffffff
and eax, ecx
mov ecx, 0x9c6a311e
xor ecx, 0x5a44c4c8
sub eax, ecx
mov ecx, 0xf8307ce0
xor edx, edx
div ecx
xor ecx, ecx
sub ecx, 0x3e9932d0
sub eax, ecx
mov ecx, 0xcefa2113
xor ecx, 0xc2cecdc
cmp eax, ecx
je 0x14002f920
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401f4660]
xor edx, edx
div dword [0x1401f4664]
mov r10d, eax
mov rax, qword [rsp + 0x58]
mov edx, 0x876d9321
xor edx, 0x9764de38
xor r10d, edx
mov edx, r10d
xor edx, 0xffffffff
and edx, 0xe0161f96
mov r9d, 0xf9a5cf7b
xor r9d, 0x19b3d0ed
mov r8d, 0x728a69a2
xor r8d, 0x8d75965d
xor r9d, r8d
and r10d, r9d
mov r8d, 0xffffffff
xor r8d, 0x65cb27a
mov r11d, 0x2e93509d
xor r11d, 0xce854f0b
and r8d, r11d
and r9d, 0x65cb27a
or edx, r10d
or r8d, r9d
xor edx, r8d
add edx, 0x27bd60ea
mov dword [rsp + 0x34], edx
mov edx, 0x7a8077a7
xor edx, 0x25fcb38a
mov dword [rsp + 0x30], edx
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x30
mov rcx, qword [rax]
call fcn.140010f87
mov ecx, dword [rsp + 0x30]
mov eax, dword [rsp + 0x34]
cmp eax, ecx
je 0x14002f920
jmp 0x14002f6f3
mov ecx, dword [0x1401f4668]
mov edx, dword [0x1401f466c]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0xf3a2d6b7
xor ecx, 0xb95b4087
and eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x4373a796
xor edx, 0x29de956a
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x6aad32fc
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x6aad32fc
or eax, 0x6aad32fc
imul eax, edx
add eax, ecx
or eax, 0x36c50e86
cmp eax, 0xa338b086
jae 0x14002f929
mov rcx, qword [rsp + 0x40]
mov eax, dword [0x1401f4670]
mov r8d, dword [0x1401f4674]
xor r8d, 0xc7696d6b
xor edx, edx
div r8d
mov r8d, eax
mov rax, qword [rsp + 0x58]
mov edx, r8d
xor edx, 0xffffffff
mov r9d, 0x106ea1d2
xor r9d, 0xfb828577
and r9d, edx
mov r10d, 0xffffffff
xor r10d, 0xebec24a5
mov edx, r8d
and edx, r10d
imul edx, r9d
mov r9d, r8d
and r9d, 0xebec24a5
or r8d, 0xebec24a5
imul r8d, r9d
add r8d, edx
mov edx, r8d
xor edx, 0xffffffff
mov r9d, r8d
xor r9d, 0xffffffff
or edx, r9d
xor edx, 0xffffffff
mov r9d, 0xffffffff
xor r9d, 0xfd455c18
or edx, r9d
mov r9d, 0xfd455c18
and r9d, 0xfd455c18
xor r9d, 0xffffffff
and r8d, r9d
xor r8d, 0xffffffff
and edx, r8d
xor edx, 0xffffffff
mov r8d, 0xe2e1c7bc
xor r8d, 0x1e32b031
and r8d, edx
mov r9d, 0x6cb8cf7
xor r9d, 0xf9347308
xor r8d, r9d
add edx, 0xfcd3778d
add edx, 1
add edx, r8d
mov dword [rsp + 0x28], edx
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x40
mov rcx, qword [rax]
call fcn.140012cd3
mov cl, al
mov eax, dword [rsp + 0x28]
mov byte [rsp + 0x2f], cl
cmp eax, 0xcaf64527
je 0x14002f929
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14002f879
jmp 0x14002f89d
mov rcx, qword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
add rax, 8
imul rcx, rcx, 0x48
add rax, rcx
add rax, 0x40
mov rcx, qword [rax]
call fcn.140010f87
mov rax, qword [rsp + 0x40]
movabs rcx, 0xcc5c0cccc264c26e
movabs rdx, 0xcc5c0cccc264c26f
xor rcx, rdx
add rax, rcx
mov qword [rsp + 0x60], rax
jmp 0x14002f3d9
mov rax, qword [rsp + 0x48]
cmp rax, 0
je 0x14002f911
mov rcx, qword [rsp + 0x48]
movabs rax, 0x4000000000000000
and rax, qword [rcx]
movabs rcx, 0xd4c2ecec78a35de3
movabs rdx, 0xd4c2ecec78a35de3
xor rcx, rdx
cmp rax, rcx
jne 0x14002f911
mov rcx, qword [rsp + 0x48]
call fcn.14000f90d
nop
add rsp, 0x68
ret
sub al, 0x77
std
jmp 0x14002f4ba
xchg dword [rdx - 0x6a], ebp
sti
jmp 0x14002f629
invalid