Function at 0x1400c7170
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, r8
mov rdi, rdx
mov rbx, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141f43098]
add eax, dword [0x141f4309c]
and eax, 0x63bc8cc2
add eax, 0x376178ee
imul rax, rax, 0x205f1a23
shr rax, 0x3d
cmp eax, 0x7e15be98
ja 0x1400c7190
nop dword [rax + rax]
mov eax, dword [0x141f430a0]
xor eax, dword [0x141f430a4]
xor eax, 0x1cdf630f
add eax, 0x121a9aed
and eax, 0xd34b100c
cmp eax, 0x71b89864
ja 0x1400c71c0
mov rax, qword [r9 + 8]
nop word cs:[rax + rax]
mov ecx, dword [0x141f430a8]
add ecx, dword [0x141f430ac]
or ecx, 0x1408081e
and ecx, 0x1e4c0a3e
xor ecx, 0x27d19d16
cmp ecx, 0x7bbf2385
ja 0x1400c71f0
test rax, rax
je 0x1400c7270
mov r8, qword [r9]
nop
mov eax, dword [0x141f430b0]
sub eax, dword [0x141f430b4]
xor eax, 0x6040c100
or eax, 0x9a2e3edc
add eax, 0x6fc626d8
cmp eax, 0x29f0e744
jb 0x1400c7220
cmp qword [r9 + 0x10], 0
je 0x1400c7340
mov rcx, qword [0x141f49060]
xor edx, edx
mov r9, rsi
call qword [0x1401082c8]
jmp 0x1400c7623
mov eax, dword [0x141f43108]
sub eax, dword [0x141f4310c]
imul eax, eax, 0x9b1f948a
add eax, 0x147fbe52
and eax, 0x7863073e
cmp eax, 0xfff47676
je 0x1400c7270
test rsi, rsi
je 0x1400c73d0
movzx eax, byte [0x141f49078]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400c72b0
cmp rdi, 0x11
jae 0x1400c7433
mov eax, dword [0x141f43120]
add eax, dword [0x141f43124]
and eax, 0x1c09675f
xor eax, 0x487c384b
add eax, 0x2b3ebf4e
cmp eax, 0x5f42f71b
jae 0x1400c72f0
xor ecx, ecx
mov rdx, rsi
call fcn.1400c6170
nop word [rax + rax]
mov eax, dword [0x141f43128]
or eax, dword [0x141f4312c]
or eax, 0x9dea92a
imul ebp, eax, 0x103fd690
and ebp, 0x2c901d40
xor ecx, ecx
mov rdx, rsi
call fcn.1400c6170
cmp ebp, 0xfb10988
je 0x1400c72f0
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1400c7330
jmp 0x1400c7623
mov eax, dword [0x141f430b8]
sub eax, dword [0x141f430bc]
and eax, 0xffe3ead1
add eax, 0xaee7c9a8
imul rax, rax, 0x6bf5e359
shr rax, 0x3d
cmp eax, 0xfd01a07e
ja 0x1400c7340
mov ecx, 0xe1228a77
nop dword [rax]
mov eax, dword [0x141f430c0]
xor edx, edx
div dword [0x141f430c4]
imul rax, rcx
shr rax, 0x3f
imul eax, eax, 0xf82a4452
add eax, 0xb2b0bb3f
cmp eax, 0xb9a206e5
ja 0x1400c7370
test rsi, rsi
je 0x1400c7400
mov eax, dword [0x141f430d0]
and eax, dword [0x141f430d4]
and eax, 0x10a72938
imul eax, eax, 0x2dd36a0c
cmp eax, 0x2e226119
je 0x1400c74f9
jmp 0x1400c74c5
mov eax, dword [0x141f43110]
imul eax, dword [0x141f43114]
imul rax, rax, 0x23ca76b5
shr rax, 0x3a
imul eax, eax, 0xf908e1a0
cmp eax, 0x34d6d63e
jbe 0x1400c73d0
jmp 0x1400c742b
mov eax, dword [0x141f430c8]
xor edx, edx
div dword [0x141f430cc]
xor eax, 0xf432ecfa
imul eax, eax, 0x5f41499b
imul rax, rax, 0x35554543
shr rax, 0x3d
cmp eax, 0x6583d5e6
jae 0x1400c7400
mov rax, rdi
jmp 0x1400c7623
lea rdx, [rdi + rsi]
xor ecx, ecx
call fcn.1400c6170
mov rcx, rax
nop word cs:[rax + rax]
mov eax, dword [0x141f43118]
mov edx, dword [0x141f4311c]
add eax, edx
add eax, 0x372908f0
or eax, 0x5460e923
xor eax, 0x131471fe
cmp eax, 0x705a1331
ja 0x1400c7450
test rcx, rcx
je 0x1400c7621
lea rax, [rdi - 1]
and rax, rcx
mov rdx, rdi
sub rdx, rax
mov rax, rcx
add rax, rdx
mov qword [rcx + rdx - 8], rcx
nop word cs:[rax + rax]
mov ecx, dword [0x141f43130]
add ecx, dword [0x141f43134]
imul ecx, ecx, 0x994e868c
and ecx, 0xd6d2cb34
cmp ecx, 0x976249a9
ja 0x1400c74a0
jmp 0x1400c7623
mov eax, dword [0x141f430d8]
imul eax, dword [0x141f430dc]
add eax, 0x52730960
mov ecx, 0xcdffeb51
imul rcx, rax
shr rcx, 0x3e
xor ecx, 0x2f5df2ad
movzx eax, byte [0x141f49078]
cmp ecx, 0x34f71fd4
jbe 0x1400c7510
movzx eax, byte [0x141f49078]
jmp 0x1400c74c5
mov eax, dword [0x141f430e0]
and eax, dword [0x141f430e4]
imul eax, eax, 0x43c1a6fb
or eax, 0x2d917751
cmp eax, 0xdc2b80d7
je 0x1400c7510
nop
mov eax, dword [0x141f430e8]
imul eax, dword [0x141f430ec]
imul eax, eax, 0xb0303668
add eax, 0xb9a8d8ee
cmp eax, 0x29afb39a
jb 0x1400c7530
cmp rdi, 0x11
jae 0x1400c7590
xor ecx, ecx
mov rdx, rsi
call fcn.1400c6170
nop
mov ecx, dword [0x141f430f0]
xor ecx, dword [0x141f430f4]
add ecx, 0x3a7c0e5e
imul rcx, rcx, 0x142df983
shr rcx, 0x3c
or ecx, 0xb240fa98
cmp ecx, 0xd9437c8a
jae 0x1400c7560
jmp 0x1400c7623
lea rdx, [rdi + rsi]
xor ebp, ebp
xor ecx, ecx
call fcn.1400c6170
mov rcx, rax
test bpl, bpl
jne 0x1400c75a0
test rcx, rcx
je 0x1400c7621
lea rdx, [rdi - 1]
and rdx, rcx
mov rax, rdi
sub rax, rdx
add rax, rcx
xor edx, edx
nop dword [rax]
test dl, dl
jne 0x1400c75c0
mov edx, dword [0x141f430f8]
imul edx, dword [0x141f430fc]
xor edx, 0xf7730928
imul rdx, rdx, 0x55fc2015
shr rdx, 0x3c
or edx, 0x7b069ea8
cmp edx, 0x19f029f8
jae 0x1400c7600
mov qword [rax - 8], rcx
nop word cs:[rax + rax]
mov edx, dword [0x141f43100]
imul edx, dword [0x141f43104]
or edx, 0xe5dbf775
mov qword [rax - 8], rcx
cmp edx, 0x75328582
je 0x1400c7600
jmp 0x1400c7623
xor eax, eax
mov ecx, dword [0x141f43138]
sub ecx, dword [0x141f4313c]
add ecx, 0xefa56c2
xor ecx, 0x4dac926
imul ecx, ecx, 0xdf06c38a
cmp ecx, 0x3de45f4a
jae 0x1400c7670
xor ecx, ecx
test rax, rax
mov rdx, rax
cmove rdx, rdi
sete cl
mov qword [rbx + 8], rdx
mov qword [rbx + 0x10], rsi
mov qword [rbx], rcx
nop word cs:[rax + rax]
mov ecx, dword [0x141f43140]
and ecx, dword [0x141f43144]
and ecx, 0xafa1c6c7
imul ecx, ecx, 0x7ab6e034
add ecx, 0x4cfd5e77
xor edx, edx
test rax, rax
sete dl
mov r8, rax
cmove r8, rdi
mov qword [rbx + 8], r8
mov qword [rbx + 0x10], rsi
mov qword [rbx], rdx
cmp ecx, 0x9ac4891c
ja 0x1400c7670
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret