Function at 0x14010d740
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xb8
mov r13, r8
mov qword [rsp + 0x78], rdx
mov r14, rcx
mov rax, qword [0x140521398]
xor rax, rsp
mov qword [rsp + 0xb0], rax
mov dword [rsp + 0x94], 0
lea rcx, [rsp + 0x94]
mov edx, 0x6e6a5a37
mov r8d, 0xb167e657
mov r9d, 0x3fa35359
call fcn.140110bd0
lea rbx, [r14 + 0x30]
mov r15d, dword [rsp + 0x94]
mov rdi, qword [r14 + 0x30]
mov r12, qword [r14 + 0x38]
movabs rax, 0x66baea3a0337ec60
mov rsi, r12
sub rsi, rax
sub rsi, rdi
add rsi, rax
sar rsi, 3
cmp rsi, r15
jbe 0x14010d7d9
lea rax, [rdi + r15*8]
mov qword [r14 + 0x38], rax
jmp 0x14010d89d
mov ecx, dword [0x140531698]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404d5fb0]
lea r8d, [rcx - 0x6eb6f951]
xor edx, edx
div r8d
add ecx, 0x914906ad
cmp edx, ecx
jne 0x14010d810
mov al, 1
test al, al
jne 0x14010d81d
nop word [rax + rax]
mov eax, dword [0x14053169c]
cmp eax, 0x34
jge 0x14010d810
jmp 0x14010d801
cmp rsi, r15
jae 0x14010d89d
lea rdx, [rsp + 0xa8]
mov rcx, r14
mov r8d, 0x1e70262f
mov r9d, 0x5b6e2d1d
call fcn.140110dd0
mov rax, qword [rsp + 0xa8]
movabs rcx, 0x9b7c40b6a5222a63
sub rax, rcx
sub rax, rdi
mov rdx, rax
xor rdx, rcx
and rax, rcx
lea rax, [rdx + rax*2]
sar rax, 3
cmp rax, r15
jae 0x14010d881
lea r8, [rsp + 0x98]
mov rcx, rbx
mov rdx, r15
call fcn.14010f2d0
jmp 0x14010d89d
sub r15, rsi
lea rsi, [r12 + r15*8]
shl r15, 3
mov rcx, r12
xor edx, edx
mov r8, r15
call fcn.1403e40c0
mov qword [r14 + 0x38], rsi
movabs rcx, 0x24cde06a62ec0097
mov rax, qword [0x1404d5fb8]
add rax, rcx
inc rax
mov qword [rsp + 0x88], rax
mov rdx, qword [r14 + 0x30]
mov rcx, qword [r14 + 0x38]
mov eax, dword [0x1404d5fb0]
lea r8d, [rax + 0x3810323e]
add eax, 0x43e594ad
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x30], r8d
lea rax, [rsp + 0xa8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x88]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x94]
mov r9, rdx
call fcn.140110a90
mov ebp, dword [rsp + 0xa8]
add ebp, 0xfffffffd
mov r12d, 0x914906ab
add r12d, dword [0x1404d5fb0]
mov r15d, dword [rsp + 0x94]
mov ecx, 0xd57f3292
mov edx, 0x4ab70588
call fcn.140089a60
mov eax, dword [0x140531698]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14010d95b
mov r14, qword [0x1404d5e48]
cmp dword [0x1404d5fb0], 0x6eb6f953
je 0x14010d97d
lea rax, [fcn.14010d740]
add eax, eax
add eax, 0xba0
mov ecx, eax
not ecx
nop dword [rax]
mov rdx, qword [0x1404d5e48]
test ecx, eax
jne 0x14010d970
jmp 0x14010d948
lea rsi, [rsp + 0xa8]
nop word cs:[rax + rax]
cmp dword [0x1404d5fb0], 0x6eb6f953
jne 0x14010d9d8
mov ecx, dword [r14]
mov rdx, rsi
mov r8d, 0xd7e006e9
mov r9d, 0x21c40933
call fcn.140110d50
mov rdi, qword [rsp + 0xa8]
mov rcx, rsi
mov edx, 0xe633f5bf
mov r8d, 0x6b23dce1
call fcn.140110ec0
cmp dword [rsp + 0xa8], 0x26
jle 0x14010da02
mov rcx, r14
mov rdx, r14
mov r8d, 0x37cb611c
mov r9d, 0xed432b66
call fcn.140110c10
mov eax, dword [0x140531698]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14010d990
jmp 0x14010d99c
lea rdx, [rsp + 0xa8]
mov rcx, r14
mov r8d, 0x9175287e
mov r9d, 0xe633f5bf
call fcn.1400a79a0
sub rdi, qword [rsp + 0xa8]
mov ecx, dword [0x14053169c]
mov edx, 0x5aa7386c
mov r8d, 0xdd4fe24e
call fcn.140110ca0
test al, 1
je 0x14010df10
jmp 0x14010dee9
mov ecx, 0xea90b5d2
mov edx, 0xd06727bc
call fcn.140110d60
test al, 1
je 0x14010da50
cmp rdi, 0x7f
ja 0x14010da7c
mov rcx, rsi
mov edx, 0x127320e6
mov r8d, 0x11534255
call fcn.140110a60
mov eax, dword [rsp + 0x94]
mov dword [rsp + 0x60], eax
mov r8d, dword [0x1404d5fb0]
lea edx, [r8 - 0x1e71743a]
add r8d, 0x6a2b0d1f
lea rcx, [rsp + 0xa8]
call fcn.1400a80b0
cmp dword [rsp + 0xa8], 0
jne 0x14010dac1
mov ebx, dword [0x1404016e4]
mov r12b, 1
test r12b, r12b
jne 0x14010db14
mov bl, 1
nop word cs:[rax + rax]
mov r9d, dword [0x1404d5fb0]
lea ecx, [r9 - 0x6eb6f941]
lea edx, [r9 - 0x5d63b6fe]
lea r8d, [r9 - 0x349ff73f]
add r9d, 0xd6cad5de
call fcn.140108340
mov qword [0x140531688], rax
mov ecx, 0xed651860
mov edx, 0xbe3a75a5
call fcn.140110d20
test bl, bl
je 0x14010dad0
jmp 0x14010dab3
xor ebp, ebp
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0x4c], eax
sete bpl
lea r13, [fcn.14010d740]
lea edi, [r13 + 0x18d0]
not edi
add edi, edi
lea r14, [rsp + 0xa8]
mov r15d, ebp
neg r15d
mov dword [rsp + 0x4c], r15d
imul r15d, ebp
sub r15d, ebp
imul r15d, ebp
lea rsi, [rsp + 0xa0]
nop word [rax + rax]
mov rcx, r14
mov edx, 0x8ed55ec0
mov r8d, 0x7be45df7
call fcn.1400a80b0
cmp dword [rsp + 0xa8], 0
jne 0x14010db89
lea eax, [r13 + r13 + 0x31a0]
test edi, eax
je 0x14010dbde
mov edx, r15d
mov ecx, ebp
shl edx, cl
mov dword [rsp + 0x28], 0x3f0f241
mov dword [rsp + 0x20], 0xab2fd7cc
mov ecx, r15d
mov r8, rsi
mov r9, r14
call fcn.140110c20
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa8]
mov dword [rsp + 0x28], 0xab2fd7cc
mov dword [rsp + 0x20], 0xb8173c81
mov r8, rsi
mov r9, r14
call fcn.140110b20
test r12b, r12b
je 0x14010db60
jmp 0x14010db7d
sub ebx, dword [0x1404d5fb0]
sub ebx, dword [rsp + 0x48]
add ebx, 0x6eb6f953
and ebx, dword [rsp + 0x4c]
mov rax, qword [0x1405316a0]
mov rcx, rax
xor rcx, rbx
and eax, ebx
add rax, rax
mov rdx, rcx
xor rdx, rax
and rax, rcx
lea rax, [rdx + rax*2]
mov qword [0x1405316a0], rax
cmp dword [rsp + 0x60], 0
je 0x14010de8d
lea rsi, [rsp + 0xa0]
lea r14, [rsp + 0xa8]
mov r15, qword [rsp + 0x50]
nop dword [rax + rax]
mov eax, dword [0x140531698]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14010dc88
mov dword [rsp + 0x20], 0x565a851d
mov rcx, r15
mov rdx, rsi
mov r8, r14
mov r9d, 0xbfc2ba30
call fcn.140110bf0
mov rdi, qword [rsp + 0xa0]
mov rbx, qword [rsp + 0xa8]
mov eax, dword [0x14053169c]
cmp eax, 0x53
jle 0x14010dc9b
mov eax, dword [0x140531698]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
jne 0x14010dc40
jmp 0x14010dc51
xor r14d, r14d
lea r15, [rsp + 0x94]
lea r12, [rsp + 0xa8]
lea r13, [rsp + 0xa0]
jmp 0x14010dd1c
mov dword [rsp + 0x20], 0xe859a1a6
mov rcx, qword [rsp + 0x50]
mov rdx, rsi
lea r8, [rsp + 0x80]
mov r9d, 0x6040d8c4
call fcn.140110d40
mov dword [rsp + 0x28], 0x4da3f925
mov dword [rsp + 0x20], 0xf3bf279
mov rcx, r14
mov rdx, r15
mov r8, r12
mov r9, r13
call fcn.140110b10
mov r14, qword [rsp + 0xa8]
mov eax, dword [rsp + 0xa0]
cmp r14, rax
jae 0x14010de8d
mov rax, qword [rsp + 0x78]
mov rcx, qword [rax]
mov rax, qword [rax + 8]
cmp rcx, rax
je 0x14010de20
mov rdx, qword [rsp + 0x70]
mov ebp, dword [rdx + r14*8]
mov rdx, rax
sub rdx, rcx
test rdx, rdx
jle 0x14010dd9e
shr rdx, 2
movabs rsi, 0x24cde06a62ec0097
nop word cs:[rax + rax]
mov r8, rdx
shr r8, 1
lea r9, [rcx + r8*4]
add r9, 4
mov r10, qword [0x1404d5fb8]
add r10, rsi
mov r11, r10
xor r11, r10
not r11
and r11, r8
xor r11, r10
add r11, rdx
cmp dword [rcx + r8*4], ebp
cmovb rcx, r9
cmovae r11, r8
mov rdx, r11
test r11, r11
jg 0x14010dd60
cmp rcx, rax
je 0x14010ddbe
mov edx, ebp
mov r8d, 0x1aa24bac
mov r9d, 0xe8c9e7b
call fcn.140110b50
test al, 1
je 0x14010dce3
mov dword [rsp + 0x80], ebp
mov rsi, qword [rdi]
mov eax, dword [0x1404d5fb0]
mov ecx, eax
xor ecx, 0xac89b2d7
mov edx, eax
and edx, 0x2c89b2d7
lea r8d, [rcx + rdx*2]
mov ecx, eax
xor ecx, 0xf600fc74
and eax, 0x7600fc74
lea r9d, [rcx + rax*2]
mov rcx, qword [rsp + 0x58]
mov rdx, rsi
call fcn.140110e30
test al, 1
jne 0x14010dcc0
mov eax, dword [0x14053169c]
cmp eax, 0x27
jle 0x14010de70
jmp 0x14010de85
mov eax, dword [0x1405316a8]
mov rcx, qword [rsp + 0x70]
add eax, dword [rcx + r14*8]
mov dword [rsp + 0x84], eax
mov rdx, qword [rbx]
mov rcx, qword [rsp + 0x58]
cmp rdx, qword [rcx]
je 0x14010de4e
mov dword [rdx], eax
add qword [rbx], 4
jmp 0x14010dce3
mov rcx, qword [rsp + 0x50]
lea r8, [rsp + 0x84]
call fcn.14010f030
jmp 0x14010dce3
mov dword [rsi], ebp
add qword [rdi], 4
mov eax, dword [0x14053169c]
cmp eax, 0x32
jl 0x14010dce3
mov dword [rsi], ebp
add qword [rdi], 4
jmp 0x14010de70
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
call fcn.14010e3e0
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
mov rax, qword [0x1405316a0]
movabs r8, 0xebf976a633975cd9
mov r9, rax
xor r9, r8
and rax, r8
lea rax, [r9 + rax*2]
movabs r9, 0x653deb8ac0e215b4
add rax, rcx
add rax, r9
mov r10, rdx
sub r10, rax
add r8, r9
add r8, r10
sar r8, 2
call fcn.14010f680
jmp 0x14010e0a0
lea rcx, [rsp + 0xa8]
mov edx, 0x11534255
mov r8d, 0xbe2b4752
call fcn.140110ea0
test al, 1
jne 0x14010df36
nop word cs:[rax + rax]
mov eax, dword [0x1404016e0]
mov eax, dword [0x140531698]
mov ecx, dword [0x1404d5fb0]
neg ecx
add ecx, eax
add ecx, 0x6eb6f952
imul ecx, eax
test cl, 1
jne 0x14010df10
jmp 0x14010dee9
cmp ebp, r12d
jb 0x14010e0a0
test r15d, r15d
je 0x14010e0a0
mov eax, dword [rsp + 0xa8]
mov dword [rsp + 0x58], eax
mov rax, qword [r13 + 0x10]
movabs rdx, 0x8d32af72f736b240
sub rax, rdx
mov qword [rsp + 0x50], r13
sub rax, qword [r13]
mov rcx, qword [rbx]
mov qword [rsp + 0x70], rcx
movabs rcx, 0xcac3ef635bf6c32
add rdx, rcx
add rdx, rax
mov qword [rsp + 0x60], rdx
lea rcx, [rsp + 0xa0]
lea rdx, [rsp + 0xa8]
mov r8d, 0xa53ec2a
mov r9d, 0x24fa3617
call fcn.140110df0
mov edx, dword [rsp + 0xa0]
mov ecx, dword [rsp + 0xa8]
sub ecx, dword [0x1404d5fb0]
add ecx, 0x33e1c3d0
mov dword [0x1404d5e44], ecx
xor ecx, edx
not ecx
mov dword [rsp + 0x20], 0xcdd8834
lea r8, [rsp + 0xa8]
mov r9d, 0x5db68cbf
call fcn.140110be0
mov eax, dword [rsp + 0xa8]
mov ecx, 0x914906ad
add ecx, dword [0x1404d5fb0]
mov dword [rsp + 0x48], 0
mov dword [rsp + 0x4c], eax
mov dword [rsp + 0x6c], ecx
cmp eax, ecx
jne 0x14010e30f
mov ecx, dword [0x140531698]
lea eax, [rcx - 1]
imul eax, ecx
mov ecx, dword [0x1404d5fb0]
lea r8d, [rcx - 0x6eb6f951]
xor edx, edx
div r8d
add ecx, 0x914906ad
cmp edx, ecx
jne 0x14010e052
mov eax, 0x914906ad
add eax, dword [0x1404d5fb0]
mov ecx, dword [0x14053169c]
cmp ecx, 0x26
jl 0x14010e0c5
mov esi, 0x914906b9
nop word [rax + rax]
mov eax, dword [0x140531698]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14010e08c
mov edx, dword [0x1404d5fb0]
lea ecx, [rdx + 0x6133b717]
add edx, 0x1d62d86f
call fcn.140110e60
test al, 1
jne 0x14010e03c
mov eax, dword [0x14053169c]
mov ecx, dword [0x1404d5fb0]
add ecx, esi
cmp eax, ecx
jge 0x14010e060
jmp 0x14010e071
mov rcx, qword [rsp + 0xb0]
xor rcx, rsp
call fcn.1403bbdf0
nop
add rsp, 0xb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov dword [rsp + 0x48], 0
cmp eax, dword [rsp + 0x58]
jge 0x14010e30f
mov r15b, 1
lea rbx, [rsp + 0xa0]
lea r14, [rsp + 0xa8]
lea rsi, [fcn.14010d740]
mov r13d, 0x91490706
xor ebp, ebp
mov dword [rsp + 0x48], 0
nop word cs:[rax + rax]
movsxd r12, ebp
add r12, rdi
xor eax, eax
test al, al
jne 0x14010e140
nop dword [rax]
mov ecx, 0x3bd47c81
mov edx, 0xa53ec2a
call fcn.140089a60
test r15b, r15b
jne 0x14010e160
nop word cs:[rax + rax]
mov eax, dword [0x140531698]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14010e140
jmp 0x14010e120
mov eax, dword [0x14053169c]
cmp eax, 0x52
jg 0x14010e1d0
nop dword [rax + rax]
mov r15d, dword [r12]
mov ecx, 0x2fe8a607
mov edx, 0xa6c72b91
call fcn.140089a60
mov eax, dword [0x14053169c]
cmp eax, 0x2d
jg 0x14010e1d0
nop
mov ecx, 0x3f0f241
mov edx, 0xd0e420e3
call fcn.140110cd0
test al, 1
je 0x14010e1bc
mov r12d, dword [0x1404d5fb0]
mov eax, dword [0x14053169c]
lea ecx, [r12 - 0x6eb6f926]
cmp eax, ecx
jl 0x14010e1e0
mov eax, dword [0x140531698]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14010e190
jmp 0x14010e1a3
mov eax, dword [r12]
jmp 0x14010e170
add r12d, 0x914906ac
xor r12d, dword [rsp + 0x48]
mov eax, dword [0x140531698]
nop word cs:[rax + rax]
mov eax, dword [0x1404d5fb0]
lea ecx, [rax + 0x26136fb3]
mov edx, eax
xor edx, 0xc4a36d44
and eax, 0x44a36d44
lea eax, [rdx + rax*2]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], ecx
mov ecx, r15d
mov edx, r12d
mov r8, rbx
mov r9, r14
call fcn.140110a20
mov eax, dword [0x1404d5fb0]
mov ecx, eax
xor ecx, 0x914906ae
mov edx, eax
and edx, 0x114906ae
lea ecx, [rcx + rdx*2]
lea edx, [rsi + rsi]
add edx, 0x5a0
and edx, ecx
add eax, 0x914906ad
cmp edx, eax
jne 0x14010e200
mov eax, dword [rsp + 0xa0]
mov edx, dword [rsp + 0x48]
mov ecx, edx
not ecx
xor edx, eax
not eax
and eax, ecx
or eax, edx
not eax
or eax, dword [rsp + 0xa8]
mov dword [rsp + 0x48], eax
xor ecx, ecx
mov edx, 0xef4d3b6b
mov r8d, 0xcb8984aa
call fcn.1400a8350
nop dword [rax + rax]
mov eax, dword [0x14053169c]
mov ecx, dword [0x1404d5fb0]
add ecx, r13d
cmp eax, ecx
jge 0x14010e2a0
mov ecx, ebp
mov rdx, r14
mov r8d, 0xdfaa17b9
mov r9d, 0x41e2a1bf
call fcn.140110ed0
mov ecx, dword [rsp + 0xa8]
mov r9d, dword [0x1404d5fb0]
mov eax, r9d
xor eax, 0x475df176
mov edx, r9d
and edx, 0x475df176
lea r8d, [rax + rdx*2]
add r9d, 0x2d56257f
mov rdx, r14
call fcn.140110c00
mov ebp, dword [rsp + 0xa8]
cmp ebp, dword [rsp + 0x58]
mov r15b, 1
jl 0x14010e110
mov rsi, qword [rsp + 0x50]
lea rax, [rsi + 0x10]
mov qword [rsp + 0x58], rax
mov rdi, qword [rsp + 0x60]
movabs rax, 0xcac3ef635bf6c32
sub rdi, rax
nop
mov eax, dword [0x140531698]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14010e330
mov eax, dword [0x14053169c]
cmp eax, 0x13
jge 0x14010e330
lea rcx, [rsp + 0xa8]
mov edx, 0xcdf03b23
mov r8d, 0xf36f9fe7
call fcn.140110de0
mov ecx, dword [rsp + 0xa8]
lea rdx, [rsp + 0xa8]
mov r8d, 0xf6ff13af
mov r9d, 0x39c21432
call fcn.140110cc0
test byte [rsp + 0xa8], 1
jne 0x14010e3a1
mov ecx, 0x513ddcd
mov edx, 0xa7a4bb6
call fcn.140110b60
test al, 1
jne 0x14010e3ba
mov edx, dword [0x1404d5fb0]
lea ecx, [rdx + 0xadd7670]
add edx, 0x6173f7a5
call fcn.140110dc0
jmp 0x14010e38e
mov rcx, rsi
mov edx, 0xf5ec970b
mov r8d, 0x6e6a5a37
call fcn.140110a30
jmp 0x14010da50