Function at 0x140021e50
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x78
mov qword [rsp + 0x58], rcx
call fcn.14000b1d6
mov rcx, qword [rsp + 0x58]
add rax, 0x60
mov qword [rsp + 0x60], rax
add rcx, 8
mov qword [rsp + 0x68], rcx
xor eax, eax
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x50], rax
mov eax, dword [0x1401c90e8]
mov edx, dword [0x1401c90ec]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, edx
xor edx, 0xffffffff
and eax, edx
sub eax, ecx
mov ecx, 0x6ca3e98a
xor ecx, 0x2cc63ec6
imul eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0xf1860cb2
xor edx, 0x730b8361
and edx, ecx
mov r8d, 0xe7100a17
xor r8d, 0x659d85c4
mov ecx, 0xbce9949d
xor ecx, 0x43166b62
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x4a6f9df7
xor r8d, 0xc8e21224
mov edx, eax
and edx, r8d
mov r8d, 0x9af1c0c4
xor r8d, 0x187c4f17
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0x109fdf57
xor ecx, 0xa04104aa
xor edx, edx
div ecx
cmp eax, 0x2bc071aa
je 0x1400223d1
mov rcx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x58]
mov eax, dword [0x1401c90f0]
xor edx, edx
div dword [0x1401c90f4]
mov rdx, qword [rsp + 0x50]
xor eax, 0xb38ea567
mov r10d, 0xffffffff
xor r10d, 0xc6575a48
mov r9d, eax
and r9d, r10d
mov r10d, eax
xor r10d, 0xc6575a48
add eax, r10d
sub eax, r9d
imul eax, eax, 0xe42ca085
cmp rdx, qword [r8]
setl dl
mov byte [rsp + 0x47], dl
mov rcx, qword [rcx]
mov qword [rsp + 0x48], rcx
cmp eax, 0xe9e0fce3
jae 0x1400223d1
mov al, byte [rsp + 0x47]
test al, 1
jne 0x140021f9d
jmp 0x1400221e7
mov eax, dword [0x1401c90f8]
xor eax, 0x3f5653ca
mov ecx, dword [0x1401c90fc]
sub eax, 0x19493cc5
add eax, ecx
mov ecx, 0xe683fb04
xor ecx, 0xffcac7c1
add eax, ecx
imul ecx, eax, 0x9e943883
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
and eax, edx
mov edx, 0x67834985
or edx, 0x67834985
mov r8d, 0xd963d241
xor r8d, 0x269c2dbe
xor edx, r8d
or eax, edx
mov edx, 0xff0179a8
xor edx, 0xfe8657
xor eax, edx
xor ecx, 0xffffffff
mov edx, 0xffffffff
xor edx, 0x67834985
and ecx, edx
mov edx, 0x4164f48a
xor edx, 0xbe9b0b75
xor eax, edx
xor ecx, 0xffffffff
and eax, ecx
mov ecx, 0x5bf76239
xor ecx, 0xd5dbbb2d
and eax, ecx
mov ecx, 0xf180fcca
xor ecx, 0x310405ba
cmp eax, ecx
je 0x1400223da
mov rcx, qword [rsp + 0x50]
mov edx, dword [0x1401c9100]
mov r8d, dword [0x1401c9104]
xor r8d, 0x3eda0617
mov eax, edx
and eax, r8d
xor edx, r8d
or eax, edx
mov edx, 0xa21bc957
xor edx, 0x92c932d5
xor eax, edx
and eax, 0x2f0e0b95
mov r8d, 0x676f001e
xor r8d, 0xb052f517
xor edx, edx
div r8d
mov edx, eax
mov rax, qword [rsp + 0x48]
mov dword [rsp + 0x40], edx
mov edx, 0x68ca2d79
xor edx, 0xdd93d116
mov dword [rsp + 0x3c], edx
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14001ba10
mov ecx, dword [rsp + 0x3c]
mov dl, al
mov eax, dword [rsp + 0x40]
mov byte [rsp + 0x46], dl
cmp eax, ecx
je 0x1400223da
mov al, byte [rsp + 0x46]
test al, 1
jne 0x1400220d2
jmp 0x140022113
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140142e80
mov rax, qword [rsp + 0x60]
cmp byte [rax], 0
jne 0x140022321
mov rcx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x68]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14000e6f9
mov eax, dword [0x1401c9108]
mov edx, dword [0x1401c910c]
xor edx, 0xaee0e06
mov ecx, 0x67e4e2a0
xor ecx, 0x67e4e2a0
sub ecx, eax
mov eax, 0x35584476
xor eax, 0x35584476
sub eax, edx
add ecx, eax
xor eax, eax
sub eax, ecx
mov ecx, 0xc0e7ecb1
xor ecx, 0x485a45ab
add eax, ecx
or eax, 0x290f6e2c
sub eax, 0xc8bbc503
mov ecx, 0xdfeb4249
xor ecx, 0xc4acce23
cmp eax, ecx
jb 0x1400223e3
mov rcx, qword [rsp + 0x50]
mov eax, dword [0x1401c9110]
mov r8d, dword [0x1401c9114]
mov edx, eax
add edx, 1
xor eax, 0xffffffff
or eax, r8d
add eax, edx
mov edx, 0x8399d314
xor edx, 0x91b6cf3e
imul eax, edx
xor eax, 0xaed6d356
mov edx, 0xc023d048
xor edx, 0x130a305a
imul eax, edx
movabs rdx, 0xd8e26bb96784fc15
movabs r8, 0xd8e26bb96784fc14
xor rdx, r8
add rcx, rdx
mov qword [rsp + 0x30], rcx
cmp eax, 0xdce43fa3
jae 0x1400223e3
mov rax, qword [rsp + 0x30]
mov qword [rsp + 0x70], rax
jmp 0x140021e7c
mov eax, dword [0x1401c9118]
mov ecx, dword [0x1401c911c]
mov r8d, eax
and r8d, ecx
or eax, ecx
add r8d, eax
add r8d, 0xf294af16
mov ecx, r8d
xor ecx, 0xffffffff
mov eax, 0xf9f18cc5
xor eax, 0xb9f4b6d1
and eax, ecx
mov edx, 0xed63b834
xor edx, 0xad668220
mov ecx, 0x19e37bb1
xor ecx, 0xe61c844e
xor edx, ecx
and r8d, edx
mov ecx, 0xf5d6a0dd
xor ecx, 0x4f18ca3a
mov r9d, 0xafdd2e4d
xor r9d, 0x5022d1b2
xor ecx, r9d
and ecx, 0x40053a14
and edx, 0xbace6ae7
or eax, r8d
or ecx, edx
xor eax, ecx
xor ecx, ecx
sub ecx, 0xcc60763f
sub eax, ecx
mov ecx, 0x7ba4e95a
xor ecx, 0x7f457ccd
cmp eax, ecx
jb 0x1400223ec
mov rcx, qword [rsp + 0x48]
mov eax, dword [str._Pe]
mov r8d, dword [0x1401c9124]
xor r8d, 0xba9ffb35
xor edx, edx
div r8d
mov edx, 0xffffffff
xor edx, 0x1261b09b
add eax, edx
add eax, 1
or eax, 0x48a43fc5
mov edx, eax
xor edx, 0xffffffff
mov r8d, 0x47609d8b
xor r8d, 0xcd2817d6
and r8d, edx
mov r9d, 0xffffffff
xor r9d, 0x8a488a5d
mov edx, eax
and edx, r9d
imul edx, r8d
mov r8d, eax
and r8d, 0x8a488a5d
or eax, 0x8a488a5d
imul eax, r8d
add eax, edx
cmp rcx, 0
sete cl
mov byte [rsp + 0x2f], cl
cmp eax, 0x55ee3ac7
jbe 0x1400223ec
mov al, byte [rsp + 0x2f]
test al, 1
jne 0x140022321
jmp 0x140022317
mov rcx, qword [rsp + 0x48]
call fcn.14000e54a
mov eax, dword [0x1401c9128]
sub eax, dword [0x1401c912c]
xor eax, 0x8f286232
sub eax, 0x89878dc0
mov ecx, eax
xor ecx, 0xffffffff
mov edx, 0x662fe2f8
xor edx, 0x4fd9abb1
and edx, ecx
mov r8d, 0xffffffff
xor r8d, 0x29f64949
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x29f64949
mov r8d, 0x5c0a84a7
xor r8d, 0x75fccdee
xor eax, 0x75fccdee
or eax, r8d
imul eax, edx
add eax, ecx
cmp eax, 0x522f9846
jae 0x1400223f5
mov ecx, dword [0x1401c9130]
imul ecx, dword [0x1401c9134]
mov eax, ecx
and eax, 0x7109c74c
shl eax, 1
add ecx, 0x7109c74c
sub ecx, eax
mov eax, ecx
and eax, 0xef26e1a0
or ecx, 0xef26e1a0
add eax, ecx
add eax, 0x7f6d3217
mov ecx, 0x4e48d14f
xor ecx, 0x82bb9f54
cmp eax, ecx
jae 0x140022386
add rsp, 0x78
ret
jae 0x14002236d
xchg ecx, eax
xchg ecx, ebp
sti
invalid
in eax, dx
sbb dword [rax - 0x3a216cc], ecx
invalid
retf
invalid
and al, 0x18
jl 0x140022412
jmp 0x140022386
add eax, 0x60
mov qword [rsp + 0x40], rax
add rcx, 8
mov qword [rsp + 0x48], rcx
xor eax, eax
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x28], rax
mov rcx, qword [rcx]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
cmp rax, rcx
jge 0x1400224c7
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x28]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.14001ba10
test al, 1
jne 0x140022473
jmp 0x1400224b4
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
call fcn.140153890
mov rax, qword [rsp + 0x40]
cmp byte [rax], 0
jne 0x1400224e0
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x48]
mov rax, qword [rax]
mov rcx, qword [rax + rcx*8 + 8]
mov edx, 8
call fcn.14000e6f9
mov rax, qword [rsp + 0x28]
add rax, 1
mov qword [rsp + 0x50], rax
jmp 0x14002242a
mov rax, qword [rsp + 0x30]
cmp rax, 0
je 0x1400224e0
mov rcx, qword [rsp + 0x30]
call fcn.14000e54a
nop
add rsp, 0x58
ret