Function at 0x140031d70
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x48], rcx
call fcn.14002fa47
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x58], rax
mov r8d, 4
call fcn.14003109a
mov rcx, rax
mov rax, qword [rsp + 0x60]
mov al, byte [rax]
test al, al
setne al
sub rcx, 4
sete cl
or al, cl
test al, 1
jne 0x140032012
mov r11d, dword [0x1401c97e0]
xor r11d, 0x755b7bdb
mov r10d, dword [0x1401c97e4]
xor r10d, 0x3922aec6
mov ecx, r11d
xor ecx, 0xffffffff
mov r8d, r10d
xor r8d, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe3a4f7f3
mov r9d, 0xf87274da
xor r9d, 0x1bd68329
mov eax, ecx
and eax, r9d
and r11d, edx
mov r9d, r8d
and r9d, 0xe3a4f7f3
and r10d, edx
or eax, r11d
or r9d, r10d
xor eax, r9d
or ecx, r8d
xor ecx, 0xffffffff
or edx, 0xe3a4f7f3
and ecx, edx
or eax, ecx
or eax, 0xaa6cc629
mov ecx, 0x5639137e
xor edx, edx
div ecx
xor eax, 0x8bed9e85
cmp eax, 0xff474b
jb 0x1400320e5
mov eax, dword [0x1401c97e8]
xor eax, dword [0x1401c97ec]
mov edx, 0x686241a0
xor edx, 0x487d8556
mov ecx, eax
and ecx, edx
mov edx, 0xf48f4b65
xor edx, 0xd4908f93
xor eax, edx
or ecx, eax
mov eax, 0xe600da22
xor eax, 0x19ff25dd
xor ecx, eax
mov eax, 0xffffffff
xor eax, 0x9386e5e7
mov edx, 0x9b9fa0ef
xor edx, 0xfdb17359
mov r8d, 0x8e2dc3b7
xor r8d, 0x71d23c48
xor edx, r8d
or ecx, eax
mov eax, 0x17aca2fb
xor eax, 0x7182714d
or eax, edx
xor ecx, 0xffffffff
and ecx, eax
mov eax, ecx
and eax, 0xea9e553d
or ecx, 0xea9e553d
add eax, ecx
mov dword [rsp + 0x34], eax
lea rcx, [0x1401d4590]
call fcn.1400310cc
mov rcx, qword [rsp + 0x58]
mov rdx, rax
mov eax, dword [rsp + 0x34]
mov qword [rsp + 0x38], rdx
cmp byte [rcx], 0
sete cl
mov byte [rsp + 0x47], cl
cmp eax, 0xd8766cd2
je 0x140031e4f
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140031f13
jmp 0x140032012
mov eax, dword [0x1401c97f0]
mov ecx, dword [str.jdc_xTpz_t]
xor ecx, 0xc9f4e9f2
imul eax, ecx
mov ecx, 0xffffffff
xor ecx, 0x64e6fa10
mov edx, 0x8d4f4237
xor edx, 0x8d4f4237
mov r8d, 0x65b7fccc
xor r8d, 0x65b7fccd
sub edx, r8d
sub ecx, edx
sub eax, ecx
add eax, 0x4d0bcbf4
and eax, 0xfc3e90ea
cmp eax, 0xb591df01
jae 0x1400320ee
mov rcx, qword [rsp + 0x38]
mov edx, dword [0x1401c97f8]
mov r8d, dword [0x1401c97fc]
mov eax, 0x2e879282
xor eax, 0x5dffdcd8
xor r8d, eax
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
mov edx, 0x46d39e2f
xor edx, 0xcbfca0f9
imul eax, edx
or eax, 0xad9dcb1c
mov r8d, 0xab924bbc
xor r8d, 0x435bc7fa
xor edx, edx
div r8d
mov dword [rsp + 0x30], eax
mov eax, 0x75324650
xor eax, 0x6a9ade55
mov dword [rsp + 0x2c], eax
movabs rax, 0x36a61c3613fae3e1
movabs rdx, 0x36a61c361336c10f
xor rax, rdx
lea rdx, [0x1401d4574]
lea r8, [0x1401d457c]
lea r9, [0x1401d4581]
mov qword [rsp + 0x20], rax
call fcn.1400120ce
mov ecx, dword [rsp + 0x2c]
mov eax, dword [rsp + 0x30]
cmp eax, ecx
jae 0x140031f67
jmp 0x140032012
mov eax, dword [0x1401c9800]
mov r8d, dword [0x1401c9804]
xor r8d, 0x9c2ae6a9
mov edx, r8d
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, r8d
add eax, edx
sub eax, ecx
xor eax, 0xef31991
mov r8d, 0xffffffff
xor r8d, 0x6ca65ca5
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x6ca65ca5
or eax, 0x6ca65ca5
imul eax, edx
add eax, ecx
xor eax, 0xeeef02a0
cmp eax, 0xce48c1af
ja 0x1400320f7
mov edx, dword [0x1401c9808]
mov ecx, dword [0x1401c980c]
xor ecx, 0x531e5dbb
mov eax, edx
xor eax, 0xffffffff
mov r8d, 0xcfb73d6e
xor r8d, 0x3048c291
xor edx, r8d
or eax, edx
and ecx, ecx
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
mov ecx, 0xdb9b0e2e
xor ecx, 0x47ebf61d
xor edx, edx
div ecx
sub eax, 0x34ef123d
mov ecx, 0xcb774c8e
xor edx, edx
div ecx
mov ecx, 0x4047e17
xor ecx, 0x6d5c04c2
cmp eax, ecx
je 0x1400320f7
add rsp, 0x68
ret
cmp esi, dword [rcx + 0x61e98ae5]
std
invalid
xchg bh, dl
invalid
adc r9b, byte [r14 - 0x82161f]
invalid