Function at 0x14003bf00
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x98
mov byte [rsp + 0x76], r9b
mov byte [rsp + 0x77], r8b
mov qword [rsp + 0x78], rdx
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x88], rcx
mov rax, qword [rdx]
mov qword [rsp + 0x90], rax
cmp rax, 0
jge 0x14003bf7b
mov rcx, qword [rsp + 0x90]
movabs rdx, 0xeb97c29e121cc2ed
movabs rax, 0xeb97c29e121cc2ed
xor rdx, rax
movabs r8, 0x6ed30e0e53c0aefc
movabs rax, 0x112cf1f1ac3f5103
xor r8, rax
call fcn.14000e57e
jmp 0x14003c582
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rsp + 0x90]
call fcn.140019210
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
add rcx, 8
mov qword [rsp + 0x58], rcx
add rax, 8
mov qword [rsp + 0x60], rax
xor eax, eax
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x50], rax
cmp rax, qword [rcx]
jge 0x14003c582
mov cl, byte [rsp + 0x77]
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x80]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov al, byte [rax + rdx + 8]
mov r8, qword [r8]
mov qword [rsp + 0x40], r8
cmp rdx, r8
setl dl
mov byte [rsp + 0x4f], dl
cmp al, cl
jne 0x14003c153
mov eax, dword [0x1401f4c10]
mov edx, dword [0x1401f4c14]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
or eax, 0xc3d9ff26
mov r8d, 0x9d62db49
xor r8d, 0xcf7a93de
mov ecx, 0xde126ffe
xor ecx, 0x21ed9001
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
mov r8d, 0x25a6e39d
xor r8d, 0xda591c62
xor ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x52184897
or eax, 0x52184897
imul eax, edx
add eax, ecx
imul eax, eax, 0x9b89b477
cmp eax, 0xd8bdea28
jbe 0x14003c592
mov eax, dword [0x1401f4c18]
add eax, dword [0x1401f4c1c]
mov ecx, 0x7c1bbb02
xor ecx, 0xecacd0f3
and ecx, eax
mov edx, 0x2325b7d4
xor edx, 0xdcda482b
xor ecx, edx
add eax, 0x90b76bf1
add eax, 1
add eax, ecx
sub eax, 0x9f8f57ed
sub eax, 0x40eb3a05
add eax, 0x9f8f57ed
mov ecx, 0x91e217aa
xor ecx, 0x6241a140
and eax, ecx
cmp eax, 0xae08a4b9
jae 0x14003c07c
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14003c139
jmp 0x14003c0e4
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
movabs rax, 0x1f182399ed22152e
movabs r8, 0xeb256028bc6dd086
xor rax, r8
sub rdx, rax
movabs rax, 0xf96710799b050e5f
movabs r8, 0x698ef8664faf1a0
xor rax, r8
add rdx, rax
movabs rax, 0xf43d43b1514fc5a8
add rdx, rax
call fcn.140013c92
jmp 0x14003c582
mov rcx, qword [rsp + 0x80]
call fcn.14003c5c0
mov al, byte [rsp + 0x76]
mov byte [rsp + 0x3f], al
jmp 0x14003c551
mov eax, dword [0x1401f4c20]
xor eax, 0x3dff857c
xor edx, edx
div dword [0x1401f4c24]
imul eax, eax, 0xeee45f7f
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x8d55334a
add eax, ecx
mov ecx, 0x891f8fc0
xor edx, edx
div ecx
mov ecx, 0x8352c49f
xor ecx, 0xc8d92d9e
cmp eax, ecx
je 0x14003c59b
mov eax, dword [0x1401f4c28]
or eax, dword [0x1401f4c2c]
mov ecx, 0xec74af7e
xor ecx, 0x969bb2c1
xor edx, edx
div ecx
mov r8d, eax
mov ecx, r8d
xor ecx, 0xffffffff
and ecx, 0x64dd5520
mov edx, 0xfaabb97d
xor edx, 0x9e76ec5d
mov eax, 0x55c94e93
xor eax, 0xaa36b16c
xor edx, eax
and r8d, edx
mov eax, 0xffffffff
xor eax, 0x203bfd2e
and eax, 0x64dd5520
and edx, 0x203bfd2e
or ecx, r8d
or eax, edx
xor ecx, eax
mov eax, ecx
and eax, eax
mov edx, 0x62b84d02
xor edx, 0x9d47b2fd
xor eax, edx
xor eax, 0xffffffff
mov edx, 0x2f436b1e
xor edx, 0xb628f3b
mov r8d, 0x4be89ca0
xor r8d, 0xb417635f
xor edx, r8d
or eax, edx
mov edx, 0x2421e425
and edx, 0x2421e425
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
mov edx, 0xde22f8b1
xor edx, 0x21dd074e
xor ecx, edx
or eax, ecx
cmp eax, 0x60718098
jae 0x14003c59b
mov al, byte [rsp + 0x4f]
test al, 1
jne 0x14003c3e5
jmp 0x14003c269
mov eax, dword [0x1401f4c30]
mov ecx, 0x82770a7f
xor ecx, 0x68d6ca6f
xor eax, ecx
mov r8d, dword [0x1401f4c34]
mov r9d, r8d
xor r9d, 0xffffffff
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
imul eax, eax, 0x7ec3f6eb
mov ecx, 0x10de056c
xor ecx, 0x9d4b2438
xor edx, edx
div ecx
mov ecx, 0x69a703d5
xor ecx, 0x3b984486
xor edx, edx
div ecx
cmp eax, 0x9e36e9f0
je 0x14003c5a4
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x40]
mov eax, dword [0x1401f4c38]
xor eax, 0xbae0795a
mov r10d, dword [0x1401f4c3c]
mov r11d, r10d
xor r11d, 0xffffffff
mov r9d, eax
and r9d, r11d
mov r8d, eax
or r8d, r11d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, r10d
or eax, r10d
imul eax, r9d
add eax, r8d
mov r8d, eax
and r8d, 0x9210e106
shl r8d, 1
xor eax, 0x9210e106
add eax, r8d
mov r10d, 0xffffffff
xor r10d, 0x1594e94b
mov r9d, eax
and r9d, r10d
mov r8d, eax
or r8d, r10d
xor r8d, 0xffffffff
imul r8d, r9d
mov r9d, eax
and r9d, 0x1594e94b
mov r10d, 0x14f23282
xor r10d, 0x166dbc9
or eax, r10d
imul eax, r9d
add eax, r8d
mov r8d, eax
xor r8d, 0xffffffff
mov r9d, 0x4c97234b
xor r9d, 0xe41c1077
and r9d, r8d
mov r10d, 0xffffffff
xor r10d, 0xa88b333c
mov r8d, eax
and r8d, r10d
imul r8d, r9d
mov r9d, eax
and r9d, 0xa88b333c
mov r10d, 0x1d8d807b
xor r10d, 0xb506b347
or eax, r10d
imul eax, r9d
add eax, r8d
mov dword [rsp + 0x38], eax
add rdx, 0xffffffffffffffff
call fcn.140013c92
mov eax, dword [rsp + 0x38]
cmp eax, 0x4cb922c3
je 0x14003c5a4
jmp 0x14003c582
mov eax, dword [0x1401f4c40]
mov r8d, dword [0x1401f4c44]
xor r8d, 0x4efda6ee
mov ecx, 0x75bf7548
xor ecx, 0x8a408ab7
mov r9d, r8d
xor r9d, ecx
mov edx, eax
and edx, r9d
mov ecx, eax
or ecx, r9d
mov r9d, 0x6671479
xor r9d, 0xf998eb86
xor ecx, r9d
imul ecx, edx
mov edx, eax
and edx, r8d
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x4a04c3bd
xor edx, edx
div ecx
mov ecx, 0x9588a6d0
xor ecx, 0xd4dad8fd
imul eax, ecx
mov edx, 0xf0bc77bc
xor edx, 0xf438843
mov ecx, eax
xor ecx, edx
and ecx, 0x4e31f49a
mov edx, 0xffffffff
xor edx, 0x4e31f49a
and eax, edx
sub eax, ecx
mov ecx, 0xe3938eb
xor ecx, 0xed6f9a9
cmp eax, ecx
jb 0x14003c5ad
mov rcx, qword [rsp + 0x80]
mov eax, dword [0x1401f4c48]
mov edx, 0x9af5c03a
xor edx, 0xf5d2fec3
xor eax, edx
xor edx, edx
div dword [0x1401f4c4c]
and eax, 0x5d6dc23b
add eax, 0x2b443f84
mov r8d, 0x247e67e3
xor edx, edx
div r8d
mov dword [rsp + 0x24], eax
mov eax, 0x8c117b0c
xor eax, 0xba00ee87
mov dword [rsp + 0x20], eax
call fcn.14003c5c0
mov r8, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x50]
mov ecx, dword [rsp + 0x20]
mov eax, dword [rsp + 0x24]
mov r8, qword [r8]
mov qword [rsp + 0x28], r8
cmp rdx, r8
setl dl
mov byte [rsp + 0x37], dl
cmp eax, ecx
je 0x14003c482
mov al, byte [rsp + 0x37]
test al, 1
jne 0x14003c53c
jmp 0x14003c50e
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x28]
movabs rax, 0xd406c113e6ecd6a6
movabs r8, 0x2bf93eec19132959
xor rax, r8
add rdx, rax
call fcn.140013c92
jmp 0x14003c582
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
mov rax, qword [rax]
mov al, byte [rax + rcx + 8]
mov byte [rsp + 0x3f], al
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x60]
mov dl, byte [rsp + 0x3f]
mov rcx, qword [rcx]
mov byte [rcx + rax + 8], dl
mov rcx, rax
and rcx, 1
shl rcx, 1
xor rax, 1
add rax, rcx
mov qword [rsp + 0x68], rax
jmp 0x14003bfb6
mov rax, qword [rsp + 0x88]
add rsp, 0x98
ret
mov dh, 5
leave
in al, dx
jmp 0x14003c07c
sahf
loop 0x14003c56d
popfq
jmp 0x14003c197
inc dword [rdi + 0x29e947c9]
std
invalid
invalid