Function at 0x1402151d0
Capabilities:
Encode data using xor

Disassembly:
sub rsp, 0x58
mov qword [rsp + 0x48], rcx
xor eax, eax
cmp rcx, 0
mov byte [rsp + 0x57], al
je 0x140215543
mov eax, dword [0x14024f768]
mov ecx, dword [0x14024f76c]
xor ecx, 0xdb97fec6
and eax, ecx
imul eax, eax, 0x9aa3859d
mov edx, 0xff473dba
xor edx, 0xb8c245
mov ecx, eax
xor ecx, edx
mov r8d, 0xb8a99265
xor r8d, 0x47566d9a
mov edx, eax
xor edx, r8d
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xb1fd3a64
mov r8d, 0xffffffff
xor r8d, 0xb1fd3a64
and edx, r8d
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, 0xb1fd3a64
mov edx, 0x193c0c24
xor edx, 0xe6c3f3db
xor eax, edx
or ecx, eax
xor ecx, 0xffffffff
mov eax, ecx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xe476ca32
or eax, edx
and ecx, 0xe476ca32
mov edx, 0xb4b114b7
xor edx, 0x4b4eeb48
xor ecx, edx
and eax, ecx
mov ecx, 0xac26f80c
xor ecx, 0x53d907f3
xor eax, ecx
cmp eax, 0x75296e5
jbe 0x14021561d
mov rdx, qword [rsp + 0x48]
mov eax, dword [0x14024f770]
xor eax, 0x4cd871ac
mov ecx, dword [0x14024f774]
xor ecx, 0x59262475
sub eax, ecx
add eax, 0x28b9bbf9
mov ecx, 0x852ed80a
xor ecx, 0xdc4081a
imul eax, ecx
xor eax, 0x34f3db
mov ecx, 0x7dad5a9d
xor ecx, 0xe0f91f24
movabs r8, 0x40c68de72aa10578
add rdx, r8
add rdx, 0xfffffffffffffff0
movabs r8, 0x40c68de72aa10578
sub rdx, r8
mov qword [rsp + 0x30], rdx
mov rdx, qword [rdx]
mov qword [rsp + 0x38], rdx
cmp rdx, 0x10
setb dl
mov byte [rsp + 0x47], dl
cmp eax, ecx
jbe 0x14021561d
mov cl, byte [rsp + 0x47]
mov al, 1
test cl, 1
mov byte [rsp + 0x57], al
jne 0x140215543
jmp 0x140215336
mov rdx, qword [rsp + 0x38]
xor eax, eax
mov ecx, eax
sub rcx, rdx
xor eax, eax
sub rax, 0xfffffffffffffff0
add rcx, rax
xor eax, eax
sub rax, rcx
mov qword [rsp + 0x28], rax
mov rcx, rax
xor rcx, rdx
cmp rcx, 0
setl cl
cmp rax, 0xffffffffffffffff
setg al
and al, cl
test al, 1
jne 0x140215378
jmp 0x140215443
mov eax, dword [0x14024f778]
xor eax, dword [0x14024f77c]
mov ecx, eax
and ecx, 0x617c1880
shl ecx, 1
xor eax, 0x617c1880
add eax, ecx
and eax, 0xe46b94ab
imul eax, eax, 0x2daa64a6
cmp eax, 0xac75b85a
je 0x140215626
mov eax, dword [0x14024f780]
mov ecx, dword [0x14024f784]
xor ecx, 0xe24323bc
or eax, ecx
imul ecx, eax, 0xa3c38ca5
mov eax, ecx
xor eax, 0xffffffff
mov r8d, 0x71614014
xor r8d, 0x8e9ebfeb
mov edx, ecx
xor edx, r8d
or eax, edx
xor eax, 0xffffffff
mov edx, 0xffffffff
xor edx, 0xc2d15323
or eax, edx
mov edx, 0xc2d15323
and edx, 0xc2d15323
mov r8d, 0x6ba62010
xor r8d, 0x9459dfef
xor edx, r8d
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x38986a99
xor edx, edx
div ecx
mov dword [rsp + 0x24], eax
call fcn.140008d37
mov eax, dword [rsp + 0x24]
cmp eax, 0x79c2950c
jae 0x1402153ac
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x140215543
mov ecx, dword [0x14024f788]
mov eax, dword [0x14024f78c]
xor eax, 0x142413ac
imul ecx, eax
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x8efbd490
mov edx, 0xffffffff
xor edx, 0x8efbd490
and ecx, edx
or eax, ecx
imul eax, eax, 0xac50f620
mov ecx, 0xf6d73159
xor ecx, 0x928cea6
mov edx, eax
xor edx, ecx
and edx, 0x71c6866f
mov r8d, 0xffffffff
xor r8d, 0x71c6866f
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x709e7101
xor r8d, 0x158f76e
mov edx, eax
and edx, r8d
or eax, 0x71c6866f
imul eax, edx
add eax, ecx
mov ecx, 0x3e102b97
xor ecx, 0x970d4a6c
cmp eax, ecx
je 0x14021562f
mov rdx, qword [rsp + 0x30]
mov r8, qword [rsp + 0x28]
mov eax, dword [0x14024f790]
imul eax, dword [0x14024f794]
mov r9d, 0xdb641f42
xor r9d, 0x1b39b31c
mov ecx, eax
and ecx, r9d
mov r9d, 0xf220074b
xor r9d, 0xf2200749
imul ecx, r9d
xor eax, 0xc05dac5e
add eax, ecx
sub eax, 0x987c8ee8
mov ecx, 0xafa85fc2
xor ecx, 0xd1248e45
or eax, ecx
mov ecx, 0xb316ec81
xor ecx, 0x7dfad479
mov qword [rdx], r8
cmp eax, ecx
jae 0x1402154cf
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x140215543
mov al, byte [rsp + 0x57]
mov byte [rsp + 0x23], al
mov eax, dword [0x14024f798]
mov ecx, 0x7862fd40
xor ecx, 0xf0cbaee7
xor eax, ecx
mov ecx, dword [0x14024f79c]
xor ecx, 0x1464880d
add eax, ecx
xor ecx, ecx
sub ecx, 0x3184800c
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x19e09969
mov r8d, 0xffffffff
xor r8d, 0x19e09969
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0x3c412b40
xor r8d, 0x25a1b229
mov edx, eax
and edx, r8d
or eax, 0x19e09969
imul eax, edx
add eax, ecx
mov ecx, 0x3908ba40
xor ecx, 0xddd33248
xor eax, ecx
cmp eax, 0x18c27cbc
je 0x140215638
mov eax, dword [0x14024f7a0]
and eax, dword [0x14024f7a4]
mov ecx, 0x798738c1
xor ecx, 0x8df122b
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x706cc824
mov edx, 0xffffffff
xor edx, 0x706cc824
and eax, edx
shl eax, 1
sub eax, ecx
and eax, 0xa91f3c7e
cmp eax, 0x58d5873b
jb 0x140215638
mov al, byte [rsp + 0x23]
and al, 1
movzx eax, al
add rsp, 0x58
ret
xchg ebx, eax
sub byte [rdi - 0x38617], bl
call rbx
invalid
rol dword [rdx + 0x27], cl
mov esp, 0xfffd7de9
invalid
fcom dword [rcx + 0x33]
js 0x14021561d
xchg edi, eax
invalid
jl 0x140215675
pop rbp
adc ebp, ecx
mov edi, edi
invalid
invalid