Function at 0x14007c1c0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x68
mov qword [rsp + 0x58], rcx
mov qword [rsp + 0x50], rdx
cmp qword [rsp + 0x58], 0
je 0x14007c2c3
mov eax, dword [0x140107c08]
sub eax, dword [0x140107c0c]
add eax, 0x754535ef
imul eax, eax, 0x5b421810
and eax, 0x6958aa53
cmp eax, 0x71f59b46
je 0x14007c4bf
mov eax, dword [0x140107c10]
imul eax, dword [0x140107c14]
xor eax, 0xa0c02673
xor eax, 0xd0f3af0b
or eax, 0xeb4dea41
cmp qword [rsp + 0x50], 0
setne cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x81dae3ef
jbe 0x14007c201
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x14007c246
jmp 0x14007c2c3
mov eax, dword [0x140107c18]
xor eax, dword [0x140107c1c]
mov ecx, 0x5dd9746c
xor edx, edx
div ecx
and eax, 0xe4a8a0d4
mov ecx, 0x2340a377
xor edx, edx
div ecx
cmp eax, 0x29a2cef3
ja 0x14007c4c4
mov eax, dword [0x140107c20]
xor eax, dword [0x140107c24]
imul eax, eax, 0xe51ea599
or eax, 0x898a6ac7
xor eax, 0xfc1256e2
mov rcx, qword [rsp + 0x58]
movsx ecx, word [rcx]
mov rdx, qword [rsp + 0x50]
cmp ecx, dword [rdx + 8]
setne cl
mov byte [rsp + 0x2e], cl
cmp eax, 0x62312936
ja 0x14007c274
mov al, byte [rsp + 0x2e]
test al, 1
jne 0x14007c2c3
jmp 0x14007c31d
mov eax, dword [0x140107c28]
and eax, dword [0x140107c2c]
and eax, 0xea077840
and eax, 0xfbacedfd
imul eax, eax, 0xfdd4d558
cmp eax, 0x70ad81c1
jae 0x14007c4c9
mov eax, dword [0x140107c30]
sub eax, dword [0x140107c34]
sub eax, 0x1965e0cc
sub eax, 0x545c3cb2
sub eax, 0x1b6cdc80
mov dword [rsp + 0x64], 0
cmp eax, 0x2eab5f3
jb 0x14007c2ea
jmp 0x14007c4b6
mov eax, dword [0x140107c38]
add eax, dword [0x140107c3c]
and eax, 0xc130b872
add eax, 0xf7323fb
sub eax, 0x69740163
cmp eax, 0x6fe6d998
jb 0x14007c4d6
mov eax, dword [0x140107c40]
xor edx, edx
div dword [0x140107c44]
xor eax, 0xbbc29466
add eax, 0xd15ddf7b
mov ecx, 0x6391a9c2
xor edx, edx
div ecx
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x58]
add rax, 4
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x50]
add rax, 0xc
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x50]
add rax, 0x10
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x4c], 4
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
movsxd r8, dword [rsp + 0x4c]
call sub.msvcrt.dll_memcmp
mov ecx, eax
mov eax, dword [rsp + 0x28]
cmp ecx, 0
setl cl
mov byte [rsp + 0x2d], cl
cmp eax, 0x38da054
je 0x14007c343
mov al, byte [rsp + 0x2d]
test al, 1
jne 0x14007c3f7
jmp 0x14007c3da
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x30]
movsxd r8, dword [rsp + 0x4c]
call sub.msvcrt.dll_memcmp
cmp eax, 0
jle 0x14007c455
mov eax, dword [0x140107c48]
add eax, dword [0x140107c4c]
add eax, 0xdf005ed7
imul eax, eax, 0x5c879833
and eax, 0x4940232f
cmp eax, 0xe9c4055d
ja 0x14007c521
mov eax, dword [0x140107c50]
or eax, dword [0x140107c54]
mov ecx, 0xb3e5db10
xor edx, edx
div ecx
and eax, 0x3cdfbd08
xor eax, 0xea59651c
mov dword [rsp + 0x64], 0
cmp eax, 0xa371f256
je 0x14007c41e
jmp 0x14007c4b6
mov eax, dword [0x140107c58]
or eax, dword [0x140107c5c]
mov ecx, 0x51ac4afb
xor edx, edx
div ecx
mov ecx, 0x2e28bbd2
xor edx, edx
div ecx
and eax, 0x513816a1
cmp eax, 0x173ad4cd
ja 0x14007c52e
mov eax, dword [0x140107c60]
xor eax, dword [0x140107c64]
xor eax, 0x6a9d113f
xor eax, 0x5ca4fca4
sub eax, 0xa2db2109
mov dword [rsp + 0x64], 1
cmp eax, 0x6d8a6f4c
jb 0x14007c52e
jmp 0x14007c4b6
mov eax, dword [rsp + 0x64]
add rsp, 0x68
ret
jmp 0x14007c201
jmp 0x14007c274
mov dword [rsp + 0x64], 0
jmp 0x14007c2ea
mov rax, qword [rsp + 0x58]
add rax, 4
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x50]
add rax, 0xc
mov qword [rsp + 0x38], rax
mov rax, qword [rsp + 0x50]
add rax, 0x10
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x4c], 4
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
movsxd r8, dword [rsp + 0x4c]
call sub.msvcrt.dll_memcmp
jmp 0x14007c343
mov dword [rsp + 0x64], 0
jmp 0x14007c41e
mov dword [rsp + 0x64], 1
jmp 0x14007c483