Function at 0x1400d4120
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141f44c20]
add eax, dword [0x141f44c24]
imul rax, rax, 0x3a45387
shr rax, 0x39
add eax, 0x6cd741cf
imul rcx, rax, 0x4d9338fb
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1f
cmp eax, 0x8b8eee52
je 0x1400d4140
mov rax, qword [rsi]
test rax, rax
je 0x1400d4a2b
cmp eax, 1
jne 0x1400d48ae
lea rcx, [rsi + 8]
mov eax, dword [0x141f44c60]
imul eax, dword [0x141f44c64]
and eax, 0xa7c9ed49
imul eax, eax, 0xd468ebc1
add eax, 0xa99ce858
cmp eax, 0xb2e50cee
ja 0x1400d4190
mov eax, dword [0x141f44c68]
xor edx, edx
div dword [0x141f44c6c]
mov qword [rsp + 0x20], rcx
lea r8, [rsi + 0x10]
nop dword [rax + rax]
mov eax, dword [0x141f44c70]
or eax, dword [0x141f44c74]
imul rax, rax, 0x363688f3
shr rax, 0x3d
add eax, 0xcf960ed3
xor eax, 0xf5ac64fe
cmp eax, 0x236f65a6
jb 0x1400d41d0
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x1400d44fe
mov ecx, 0x80a6d075
nop word [rax + rax]
mov eax, dword [0x141f44c78]
xor edx, edx
div dword [0x141f44c7c]
imul eax, eax, 0x11d5c7fe
shr eax, 1
imul rax, rcx
shr rax, 0x3b
and eax, 6
cmp eax, 0xc4fc695c
ja 0x1400d4210
mov rax, qword [rsi + 0x18]
nop dword [rax]
mov ecx, dword [0x141f44c80]
imul ecx, dword [0x141f44c84]
add ecx, 0x1645b083
and ecx, 0x4105980
cmp ecx, 0x56aa4bcd
ja 0x1400d4240
mov r13, qword [0x1401082d0]
mov qword [rsp + 0x30], r8
nop dword [rax]
xor ecx, ecx
test cl, cl
jne 0x1400d42c7
nop word cs:[rax + rax]
mov ecx, dword [0x141f44c88]
sub ecx, dword [0x141f44c8c]
add ecx, 0x3f7541ca
imul rcx, rcx, 0x7ff6b9d1
shr rcx, 0x3e
mov r15, qword [rdi + 0x18]
lea rdx, [r15 + 0x20]
test r15, r15
cmove rdx, r8
lea rbp, [rax - 1]
mov qword [rsi + 8], r15
mov qword [rdx], 0
mov qword [rsi + 0x18], rbp
cmp ecx, 0x19a2460
jbe 0x1400d42f0
mov rcx, qword [rdi + 0x18]
lea rdx, [rcx + 0x20]
test rcx, rcx
cmove rdx, r8
mov qword [rsi + 8], rcx
mov qword [rdx], 0
lea rcx, [rax - 1]
mov qword [rsi + 0x18], rcx
jmp 0x1400d4280
mov rbx, qword [rdi + 8]
mov r12, qword [rdi + 0x10]
test r12, r12
je 0x1400d4314
mov r14, rbx
mov rcx, r14
call fcn.1400cfca0
add r14, 0x158
dec r12
jne 0x1400d4300
mov eax, dword [0x141f44c90]
imul eax, dword [0x141f44c94]
imul eax, eax, 0xa4a3c6dc
or eax, 0x53b79cc8
add eax, 0x7f8187a0
cmp eax, 0x28c8bd82
jb 0x1400d4314
mov rax, qword [rdi]
nop dword [rax + rax]
mov ecx, dword [0x141f44c98]
imul ecx, dword [0x141f44c9c]
add ecx, 0xe04d614b
xor ecx, 0x410116a
or ecx, 0x52ec6690
cmp ecx, 0xa52b7bcd
je 0x1400d4340
test rax, rax
je 0x1400d4453
xor eax, eax
test al, al
je 0x1400d4380
mov rax, qword [0x141f49060]
nop dword [rax]
mov eax, dword [0x141f44ca0]
add eax, dword [0x141f44ca4]
or eax, 0xec5f67ed
imul eax, eax, 0x680cf745
shr eax, 2
imul rax, rax, 0x2522f889
shr rax, 0x38
mov r14, qword [0x141f49060]
cmp eax, 0xf68c650e
je 0x1400d4380
mov eax, dword [0x141f44ca8]
imul eax, dword [0x141f44cac]
imul eax, eax, 0x4069d8c6
imul rax, rax, 0x2f817d89
shr rax, 0x3d
or eax, 0x40f29490
cmp eax, 0x2e9f7136
jne 0x1400d43f0
mov rcx, r14
xor edx, edx
mov r8, rbx
call r13
nop dword [rax + rax]
mov r12d, dword [0x141f44cb0]
or r12d, dword [0x141f44cb4]
xor r12d, 0x87814c08
and r12d, 0xafa1ee9a
add r12d, 0x90c6e48d
mov rcx, r14
xor edx, edx
mov r8, rbx
call r13
cmp r12d, 0xa0d30204
jb 0x1400d43f0
nop word [rax + rax]
mov eax, dword [0x141f44cb8]
and eax, dword [0x141f44cbc]
or eax, 0x14c540
and eax, 0x7014f7c8
imul eax, eax, 0x51e51d47
cmp eax, 0x394837e
je 0x1400d4430
mov rbx, qword [0x141f49060]
mov eax, dword [0x141f44cc0]
or eax, dword [0x141f44cc4]
add eax, 0x67108c75
and eax, 0xfd14720f
cmp eax, 0xfc9da859
jbe 0x1400d4490
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r13
nop word cs:[rax + rax]
mov r14d, dword [0x141f44cc8]
or r14d, dword [0x141f44ccc]
xor r14d, 0x6040900
or r14d, 0x1ab0404
and r14d, 0xa7ef0d44
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r13
cmp r14d, 0xe7fdf4f1
ja 0x1400d4490
nop word [rax + rax]
mov eax, dword [0x141f44cd0]
xor edx, edx
div dword [0x141f44cd4]
add eax, 0xbf94c230
cmp eax, 0x4d6d2e4f
jb 0x1400d44d0
mov rdi, r15
mov rax, rbp
test r15, r15
mov r8, qword [rsp + 0x30]
jne 0x1400d4270
mov r8, qword [rsp + 0x20]
nop word cs:[rax + rax]
mov eax, dword [0x141f44cd8]
and eax, dword [0x141f44cdc]
add eax, 0x1639f205
or eax, 0xf32d90c0
and eax, 0xfffdb9fb
cmp eax, 0xf17eb37f
jb 0x1400d4510
nop word cs:[rax + rax]
mov eax, dword [0x141f44ce0]
imul eax, dword [0x141f44ce4]
xor eax, 0x6a68c779
add eax, 0x2090fd00
imul rax, rax, 0x62c43359
shr rax, 0x3d
cmp eax, 0x5f14ad34
ja 0x1400d4540
mov rdi, qword [rsi + 0x20]
nop dword [rax]
mov eax, dword [0x141f44ce8]
imul eax, dword [0x141f44cec]
imul eax, eax, 0x44a53e27
xor eax, 0x10080000
or eax, 0xede23b3e
cmp eax, 0x99d7ea8d
je 0x1400d4570
test rdi, rdi
je 0x1400d4a2b
mov rcx, qword [rsi + 0x30]
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1400d45b0
mov r12, qword [0x1401082d0]
mov qword [rsp + 0x28], rsi
mov eax, dword [0x141f44cf0]
sub eax, dword [0x141f44cf4]
xor eax, 0x453c1f4
imul eax, eax, 0x6820c6e4
or eax, 0xf891768c
cmp eax, 0x8eb300f6
je 0x1400d4770
nop word [rax + rax]
mov eax, dword [0x141f44cf8]
xor edx, edx
div dword [0x141f44cfc]
or eax, 0xebb7bcb
and eax, 0x2efb7fdb
mov r13, qword [rdi + 0x18]
test r13, r13
mov rdx, r13
cmove rdx, r8
lea r15, [rcx - 1]
mov qword [rsi + 0x20], r13
mov qword [rdx + 0x20], 0
mov qword [rsi + 0x30], r15
cmp eax, 0xd510f0ae
ja 0x1400d4770
mov rbx, qword [rdi + 8]
mov r14, qword [rdi + 0x10]
test r14, r14
je 0x1400d46be
xor ebp, ebp
nop word cs:[rax + rax]
mov eax, dword [0x141f44d00]
and eax, dword [0x141f44d04]
imul eax, eax, 0xd9f64c22
cmp eax, 0x3afec15
jne 0x1400d4680
imul rcx, rbp, 0x158
add rcx, rbx
call fcn.1400cfca0
nop dword [rax + rax]
mov esi, dword [0x141f44d08]
imul esi, dword [0x141f44d0c]
add esi, 0xda9192a2
xor esi, 0x46c430
or esi, 0x9e311bc5
imul rcx, rbp, 0x158
add rcx, rbx
call fcn.1400cfca0
cmp esi, 0x1028a585
je 0x1400d4680
inc rbp
cmp rbp, r14
jne 0x1400d4650
mov rsi, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x141f44d10]
sub eax, dword [0x141f44d14]
add eax, 0xda03fcee
or eax, 0xa0c3c9c7
cmp eax, 0x9064f1af
je 0x1400d46d0
mov rcx, qword [rdi]
mov eax, dword [0x141f44d18]
imul eax, dword [0x141f44d1c]
imul eax, eax, 0x4332703a
cmp eax, 0x5e8b08f
je 0x1400d46f0
nop word [rax + rax]
mov eax, dword [0x141f44d20]
xor edx, edx
div dword [0x141f44d24]
add eax, 0xfd93bf92
imul rax, rax, 0x7309413f
shr rax, 0x3e
add eax, 0x4a2e31e9
cmp eax, 0x9c217a87
ja 0x1400d4710
test rcx, rcx
je 0x1400d4809
mov r14, qword [0x141f49060]
mov eax, dword [0x141f44d28]
or eax, dword [0x141f44d2c]
or eax, 0x2d9a76b5
add eax, 0x7377dba1
cmp eax, 0xd21a09a7
jbe 0x1400d47a0
jmp 0x1400d47d1
mov rax, qword [rdi + 0x18]
mov qword [rsi + 0x20], rax
test rax, rax
cmove rax, r8
mov qword [rax + 0x20], 0
lea rax, [rcx - 1]
mov qword [rsi + 0x30], rax
jmp 0x1400d45f0
mov eax, dword [0x141f44d30]
xor eax, dword [0x141f44d34]
imul esi, eax, 0x9615bce5
add esi, 0xd53611ea
or esi, 0xcfd59b
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
cmp esi, 0xcc0cabc5
jbe 0x1400d47e0
mov rcx, r14
xor edx, edx
mov r8, rbx
call r12
jmp 0x1400d47a0
mov rsi, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov eax, dword [0x141f44d38]
or eax, dword [0x141f44d3c]
imul eax, eax, 0xcd170a20
cmp eax, 0xbf009bdc
je 0x1400d47f0
mov rbx, qword [0x141f49060]
mov eax, dword [0x141f44d40]
imul eax, dword [0x141f44d44]
imul eax, eax, 0x10a94215
add eax, 0xff18fc22
xor eax, 0xd6891aed
cmp eax, 0x10fc0823
jae 0x1400d4840
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
nop
mov eax, dword [0x141f44d48]
xor edx, edx
div dword [0x141f44d4c]
mov ebp, eax
xor ebp, 0x912bd494
add ebp, 0x575c3f4b
mov rcx, rbx
xor edx, edx
mov r8, rdi
call r12
cmp ebp, 0x68ea0610
jb 0x1400d4840
nop
mov eax, dword [0x141f44d50]
xor edx, edx
div dword [0x141f44d54]
or eax, 0x28177e26
xor eax, 0x9a513012
imul eax, eax, 0xa0fb0ca1
cmp eax, 0x9a5ea8fe
je 0x1400d4870
mov rdi, r13
mov rcx, r15
test r13, r13
mov r8, qword [rsp + 0x20]
jne 0x1400d45c0
jmp 0x1400d4a2b
xor eax, eax
test al, al
jne 0x1400d48b0
nop word cs:[rax + rax]
mov eax, dword [0x141f44c28]
sub eax, dword [0x141f44c2c]
add eax, 0xbc65258d
and eax, 0x82100852
cmp eax, 0xa9c86ee5
ja 0x1400d48c0
mov rdi, qword [rsi + 8]
nop word cs:[rax + rax]
mov eax, dword [0x141f44c30]
sub eax, dword [0x141f44c34]
xor eax, 0x1822041
and eax, 0x61caa861
xor eax, 0x7edb149d
cmp eax, 0xbd1160b
jb 0x1400d48f0
mov rsi, qword [rsi + 0x10]
mov rax, qword [rsi]
test rax, rax
je 0x1400d4958
mov rcx, rdi
call rax
nop word cs:[rax + rax]
mov eax, dword [0x141f44c38]
or eax, dword [0x141f44c3c]
add eax, 0xcf3398bf
and eax, 0xf640ad77
imul rax, rax, 0x6e21bacb
shr rax, 0x3c
cmp eax, 0xbb007fc5
ja 0x1400d4930
cmp qword [rsi + 8], 0
je 0x1400d4a2b
cmp qword [rsi + 0x10], 0x11
jb 0x1400d49c8
nop word [rax + rax]
mov eax, dword [0x141f44c40]
and eax, dword [0x141f44c44]
and eax, 0x36fabdc9
add eax, 0x56240ae7
or eax, 0x63e27234
cmp eax, 0xca80e114
ja 0x1400d4970
mov rdi, qword [rdi - 8]
nop word cs:[rax + rax]
mov eax, dword [0x141f44c48]
and eax, dword [0x141f44c4c]
or eax, 0x3014fe34
imul rax, rax, 0x545c37e1
shr rax, 0x3c
or eax, 0x8b425dc0
cmp eax, 0x316b7f3d
je 0x1400d49a0
mov eax, dword [0x141f44c50]
or eax, dword [0x141f44c54]
add eax, 0xbd2e506f
or eax, 0xd0a643cc
cmp eax, 0x5b472b01
je 0x1400d4a17
mov esi, dword [0x141f44c58]
and esi, dword [0x141f44c5c]
and esi, 0x969706b4
add esi, 0x1f477cfa
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rdi
call qword [0x1401082d0]
cmp esi, 0xd5737695
jbe 0x1400d4a2b
mov rcx, qword [0x141f49060]
xor edx, edx
mov r8, rdi
call qword [0x1401082d0]
jmp 0x1400d49e5
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret