Function at 0x1401f1340
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 0x1401f16b0
mov eax, dword [0x14024e8a0]
xor eax, 0xa2257952
and eax, dword [0x14024e8a4]
imul eax, eax, 0x9aa3859d
mov ecx, eax
xor ecx, 0xffffffff
mov r8d, 0x36ffb2bd
xor r8d, 0xc9004d42
mov edx, eax
xor edx, r8d
and ecx, edx
mov edx, 0xffffffff
xor edx, 0xb1fd3a64
mov r8d, 0xffffffff
xor r8d, 0xb1fd3a64
and edx, r8d
mov r8d, 0xdb97fec6
xor r8d, 0x24680139
xor ecx, r8d
xor edx, 0xffffffff
and ecx, edx
or eax, 0xb1fd3a64
mov edx, 0xff473dba
xor edx, 0xb8c245
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
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0x75296e5
jbe 0x1401f178d
mov rdx, qword [rsp + 0x48]
mov eax, dword [0x14024e8a8]
xor eax, 0xcf820cf8
sub eax, dword [0x14024e8ac]
add eax, 0x28b9bbf9
mov ecx, 0xb4b114b7
xor ecx, 0x3c5bc4a7
imul eax, ecx
xor eax, 0x34f3db
mov ecx, 0xac26f80c
xor ecx, 0x3172bdb5
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
movabs r8, 0x84af7045cc00e960
movabs r9, 0x84af7045cc00e970
xor r8, r9
cmp rdx, r8
setb dl
mov byte [rsp + 0x47], dl
cmp eax, ecx
jbe 0x1401f178d
mov cl, byte [rsp + 0x47]
mov al, 1
test cl, 1
mov byte [rsp + 0x57], al
jne 0x1401f16b0
jmp 0x1401f14a0
mov rdx, qword [rsp + 0x38]
movabs rcx, 0x8a389fb6852ed80a
movabs rax, 0x8a389fb6852ed80a
xor rcx, rax
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 0x1401f14f5
jmp 0x1401f15c2
mov eax, dword [0x14024e8b0]
xor eax, dword [0x14024e8b4]
mov edx, 0xa254b77c
xor edx, 0xc328affc
mov ecx, eax
and ecx, edx
shl ecx, 1
xor eax, 0x617c1880
add eax, ecx
and eax, 0xe46b94ab
imul eax, eax, 0x2daa64a6
cmp eax, 0xac75b85a
je 0x1401f1796
mov ecx, dword [0x14024e8b8]
or ecx, dword [0x14024e8bc]
mov eax, 0xf6d6db41
xor eax, 0x551557e4
imul ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
mov edx, 0xcca50bf2
xor edx, 0xe7458d1
mov r8d, 0xada3c980
xor r8d, 0x525c367f
xor edx, r8d
or eax, edx
mov edx, 0xc2d15323
and edx, 0xc2d15323
xor edx, 0xffffffff
and ecx, edx
xor ecx, 0xffffffff
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, 0x71614014
xor ecx, 0x49f92a8d
xor edx, edx
div ecx
mov dword [rsp + 0x24], eax
call fcn.140008d37
mov eax, dword [rsp + 0x24]
cmp eax, 0x79c2950c
jae 0x1401f1530
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1401f16b0
mov ecx, dword [0x14024e8c0]
mov eax, dword [0x14024e8c4]
xor eax, 0x6ba62010
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, eax
xor ecx, 0xffffffff
mov edx, 0xae8931b
xor edx, 0x7b2e1574
and edx, ecx
mov r8d, 0x142413ac
xor r8d, 0x65e295c3
mov ecx, 0x5ab5fbdd
xor ecx, 0xa54a0422
xor r8d, ecx
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x71c6866f
or eax, 0x71c6866f
imul eax, edx
add eax, ecx
cmp eax, 0xa91d61fb
je 0x1401f179f
mov rcx, qword [rsp + 0x30]
mov rdx, qword [rsp + 0x28]
mov eax, dword [0x14024e8c8]
xor eax, 0x231e48e5
imul eax, dword [0x14024e8cc]
mov r9d, 0x709e7101
xor r9d, 0xb0c3dd5f
mov r8d, eax
and r8d, r9d
shl r8d, 1
xor eax, 0xc05dac5e
add eax, r8d
mov r8d, 0x3e102b97
xor r8d, 0xa66ca57f
sub eax, r8d
or eax, 0x7e8cd187
mov qword [rcx], rdx
cmp eax, 0xceec38f8
jae 0x1401f1647
xor eax, eax
mov byte [rsp + 0x57], al
jmp 0x1401f16b0
mov al, byte [rsp + 0x57]
mov byte [rsp + 0x23], al
mov eax, dword [0x14024e8d0]
mov ecx, 0x93fc9e92
xor ecx, 0xcc667164
xor eax, ecx
add eax, dword [0x14024e8d4]
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 edx, eax
and edx, 0x19e09969
or eax, 0x19e09969
imul eax, edx
add eax, ecx
xor eax, 0xe4db8808
mov ecx, 0x5b5eb052
xor ecx, 0x439cccee
cmp eax, ecx
je 0x1401f17a8
mov eax, dword [0x14024e8d8]
and eax, dword [0x14024e8dc]
mov ecx, 0x71582aea
xor edx, edx
div ecx
mov edx, eax
mov ecx, edx
xor ecx, 0x706cc824
mov eax, 0x3a30c3de
xor eax, 0x4a5c0bfa
mov r8d, 0x3c412b40
xor r8d, 0xc3bed4bf
xor eax, r8d
and edx, eax
mov eax, 0xae2940ee
xor eax, 0xae2940ec
imul eax, edx
sub eax, ecx
and eax, 0xa91f3c7e
cmp eax, 0x58d5873b
jb 0x1401f17a8
mov al, byte [rsp + 0x23]
and al, 1
movzx eax, al
add rsp, 0x58
ret
xchg ebx, eax
sub byte [rdi - 0x39a17], bl
call rbx
invalid
rol dword [rdx + 0x27], cl
mov esp, 0xfffd91e9
invalid
fcom dword [rcx + 0x33]
js 0x1401f178d
lahf
invalid
jl 0x1401f17e5
pop rbp
adc ebp, ecx
je 0x1401f17ae
invalid
invalid
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x71f55109
mov r8d, 0xffffffff
xor r8d, 0x71f55109
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov edx, eax
and edx, 0x71f55109
mov r8d, 0x2f4828f7
xor r8d, 0x5ebd79fe
or eax, r8d
imul eax, edx
add eax, ecx
mov ecx, 0xcd892c15
xor ecx, 0x3a4e3673
sub eax, ecx
mov ecx, 0x6fa37b79
xor ecx, 0x9f0cb69f
add eax, ecx
add eax, 0xf7c71a66
cmp eax, 0xa5de7d10
ja 0x1401f1aed
mov eax, dword [0x14024e8e8]
mov ecx, dword [0x14024e8ec]
xor ecx, 0x14197278
sub eax, 0x7b59154e
add eax, ecx
add eax, 0x7b59154e
and eax, 0xda9909a9
mov r8d, 0xc18e853a
xor r8d, 0xa4becd80
mov ecx, 0x207b2f18
xor ecx, 0xdf84d0e7
xor r8d, ecx
mov edx, eax
and edx, r8d
mov ecx, eax
or ecx, r8d
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x653048ba
or eax, 0x653048ba
imul eax, edx
add eax, ecx
mov ecx, 0x150460cc
xor ecx, 0x28c33d64
or eax, ecx
mov dword [rsp + 0x30], eax
call fcn.1401f1321
mov rcx, rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x28], rcx
mov rcx, qword [rax]
call fcn.1401f1340
mov cl, al
mov eax, dword [rsp + 0x30]
mov byte [rsp + 0x37], cl
cmp eax, 0xfd960d50
je 0x1401f1aed
mov al, byte [rsp + 0x37]
test al, 1
jne 0x1401f18ff
jmp 0x1401f192c
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
call fcn.1401f12a0
mov rax, qword [rsp + 0x28]
cmp byte [rax], 0
jne 0x1401f19f2
mov rax, qword [rsp + 0x40]
mov rcx, qword [rax]
mov edx, 8
call fcn.14000f52f
mov ecx, dword [0x14024e8f0]
mov edx, dword [0x14024e8f4]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
mov edx, 0x5d989f1a
xor edx, 0x142fabe9
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, 0x49b734f3
and eax, ecx
mov ecx, 0x58a2f3b5
xor ecx, 0x6859e9fb
xor edx, edx
div ecx
mov ecx, 0xa08c4e21
xor ecx, 0xa30f7815
xor eax, ecx
cmp eax, 0x7ffac53d
je 0x1401f1af6
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x38]
mov eax, dword [0x14024e8f8]
mov r9d, dword [0x14024e8fc]
xor r8d, r8d
sub r8d, r9d
add eax, r8d
mov r9d, 0x6cba4c51
xor r9d, 0xeb2c0969
mov r8d, eax
xor r8d, r9d
xor r8d, 0xffffffff
mov r9d, 0x799581e8
xor r9d, 0xfe03c4d0
or eax, r9d
and eax, r8d
mov r8d, 0x2ec8c0af
xor r8d, 0xb9a7e7c2
add eax, r8d
add eax, 0xf588a3c
mov qword [rcx], rdx
cmp eax, 0xab299bb1
ja 0x1401f1af6
jmp 0x1401f19f2
mov eax, dword [0x14024e900]
xor eax, 0x177483be
mov ecx, dword [0x14024e904]
mov edx, 0x4670831c
xor edx, 0x833697a3
xor ecx, edx
sub eax, 0x336a40dc
sub eax, ecx
add eax, 0x336a40dc
sub eax, 0xe8f5d591
add eax, 0xf59877d9
add eax, 0xe8f5d591
mov ecx, 0x9bb6a838
xor ecx, 0x7c345ce3
or eax, ecx
mov ecx, 0xddd2e9ed
xor ecx, 0x1154c5db
and eax, ecx
cmp eax, 0xdd922e6d
ja 0x1401f1aff
mov eax, dword [0x14024e908]
mov ecx, dword [0x14024e90c]
xor ecx, 0xa10de41b
xor eax, 0xffffffff
xor ecx, 0xffffffff
mov edx, 0x8ea21597
xor edx, 0xe1e6f145
mov r8d, 0x95bc14d1
xor r8d, 0x6a43eb2e
xor edx, r8d
or eax, ecx
mov ecx, 0xa975be80
xor ecx, 0xc6315a52
or ecx, edx
xor eax, 0xffffffff
and eax, ecx
xor eax, 0xd208462a
mov edx, eax
xor edx, 0xffffffff
and edx, 0xd9483fc4
mov r8d, 0xffffffff
xor r8d, 0xd9483fc4
mov ecx, eax
and ecx, r8d
imul ecx, edx
mov r8d, 0xa112a7e6
xor r8d, 0x785a9822
mov edx, eax
and edx, r8d
or eax, 0xd9483fc4
imul eax, edx
add eax, ecx
xor eax, 0xdf1d83c5
cmp eax, 0x35127623
jb 0x1401f1aff
invalid
add rsp, 0x48
ret
invalid
pop rbx
mov cl, byte [rsi]
jno 0x1401f1ae4
cmp esi, 0x905bffff
pop rbx
nop
or byte [rcx + rbp*8 - 0xb8], cl
nop dword [rax + rax]