Function at 0x14039d530
Capabilities:
Encode data using xor

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0xf0
lea rbp, [rsp + 0x80]
mov qword [rbp + 0x68], 0xfffffffffffffffe
mov qword [rbp + 0x58], r8
mov rsi, rdx
mov rbx, rcx
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14039d5c0
lea rcx, [rbp - 0x10]
call fcn.14039d380
mov qword [rbp + 0x50], 0xf
mov qword [rbp + 0x48], 0xc
mov dword [rsp + 0x20], 0xcc32f32e
xor ecx, ecx
xor edx, edx
mov r8d, 0x87bc787e
mov r9d, 0xe9723f1e
call fcn.1403af460
mov rcx, qword [rax]
mov qword [rbp + 0x38], rcx
mov eax, dword [rax + 8]
mov dword [rbp + 0x40], eax
mov byte [rbp + 0x44], 0
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14039d626
lea rdi, [rbp - 0x10]
nop word cs:[rax + rax]
mov rcx, rdi
call fcn.14039d380
mov qword [rbp + 0x50], 0xf
mov qword [rbp + 0x48], 0xc
mov dword [rsp + 0x20], 0xcc32f32e
xor ecx, ecx
xor edx, edx
mov r8d, 0x87bc787e
mov r9d, 0xe9723f1e
call fcn.1403af460
mov rcx, qword [rax]
mov qword [rbp + 0x38], rcx
mov eax, dword [rax + 8]
mov dword [rbp + 0x40], eax
mov byte [rbp + 0x44], 0
mov eax, dword [0x1405926cc]
cmp eax, 0x61
jge 0x14039d5d0
jmp 0x14039d568
cmp qword [rbp + 0x58], 0
je 0x14039d66c
mov rax, qword [rbp + 0x58]
lea rcx, [rax + 0x10]
lea rdx, [rbp + 0x38]
mov r8d, 0xc
call fcn.1402695f0
mov rdi, rax
mov ecx, 1
xor edx, edx
mov r8d, 0x99c85803
call fcn.1403a9940
mov rcx, rdi
mov rdx, rax
call fcn.1400b3970
mov rcx, rax
call fcn.140278690
mov rax, qword [rbp + 0x50]
cmp rax, 0x10
jb 0x14039d6da
mov rcx, qword [rbp + 0x38]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x14039d6d5
mov edx, dword [0x1405926cc]
mov r8d, dword [0x1405794f0]
mov r9d, r8d
xor r9d, 0xac65a4a1
and r8d, 0x2c65a4a1
lea r8d, [r9 + r8*2]
cmp edx, r8d
nop dword [rax]
xor edx, edx
test dl, dl
jne 0x14039d6b0
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14039da65
add rax, 0x28
mov rdx, rax
mov rcx, r8
call fcn.1400ab270
mov qword [rbp - 0x18], rbx
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
cmp ecx, eax
nop word [rax + rax]
mov r8, qword [rsi + 8]
mov ecx, dword [0x1405926c8]
lea eax, [rcx - 1]
imul eax, ecx
mov edx, 0xac65a440
mov ecx, dword [0x1405794f0]
add ecx, edx
xor edx, edx
div ecx
test edx, edx
jne 0x14039d700
mov rax, qword [rbp + 0x58]
add rax, 0x10
mov qword [rbp + 0x30], rax
mov qword [rbp - 0x20], r8
mov qword [rbp + 0x60], r8
jmp 0x14039d750
cmp r9, r8
je 0x14039d870
nop dword [rax]
mov rax, qword [rbp + 0x60]
mov rax, qword [rax]
cmp rax, qword [rbp - 0x20]
je 0x14039d90d
mov qword [rbp + 0x60], rax
mov rax, qword [rax + 0x18]
call qword [case.0x140114b5b.0]
test al, al
je 0x14039d780
mov rax, qword [rbp + 0x60]
mov esi, dword [rax + 0x20]
jmp 0x14039d79a
mov eax, dword [0x1405794f0]
mov ecx, eax
xor ecx, 0xac65a43e
and eax, 0x2c65a43e
lea esi, [rcx + rax*2]
mov rax, qword [rbp + 0x60]
mov rcx, qword [rax + 0x10]
cmp rcx, 0x13
jne 0x14039d870
mov rax, qword [rbp + 0x20]
mov r8, qword [rbp - 8]
mov rdx, qword [rbp + 8]
add rax, rax
mov r9, rax
not r9
movabs r10, 0x9121a0683c03b413
and r9, r10
movabs r10, 0x6ede5f97c3fc4bec
xor rax, r10
or rax, r9
not rax
mov r9, qword [rdx + rax*8 + 8]
cmp r9, r8
je 0x14039d870
mov r10, qword [0x1405794f8]
mov r11, r10
movabs rdi, 0x4119ce5e97ce91cf
xor r11, rdi
and r10, rdi
lea r10, [r11 + r10*2]
cmp qword [r9 + 0x10], r10
je 0x14039d740
mov r10, qword [rdx + rax*8]
nop word [rax + rax]
mov edx, dword [0x1405926c8]
lea eax, [rdx - 1]
imul eax, edx
mov r11d, dword [0x1405794f0]
mov edx, 0xac65a440
add r11d, edx
xor edx, edx
div r11d
test edx, edx
mov eax, dword [0x1405794f0]
mov edx, eax
xor edx, 0xac65a43e
and eax, 0x2c65a43e
add eax, eax
add eax, edx
jne 0x14039d842
cmp r9, r10
je 0x14039d870
mov r9, qword [r9 + 8]
cmp qword [r9 + 0x10], 0x13
jne 0x14039d820
jmp 0x14039d740
mov qword [rbp - 0x40], rcx
mov dword [rbp - 0x38], esi
lea rcx, [rbp - 0x10]
lea rdx, [rbp - 0x50]
lea r8, [rbp - 0x40]
call fcn.1403a7740
cmp qword [rbp + 0x58], 0
je 0x14039d750
call fcn.1403a8ba0
mov rcx, qword [rbp + 0x30]
mov rdx, rax
call fcn.1400b3970
mov rcx, qword [rbp + 0x60]
cmp qword [rcx + 0x40], 0x10
jb 0x14039d8c0
mov rdx, qword [rcx + 0x28]
jmp 0x14039d8c4
lea rdx, [rcx + 0x28]
mov r8, qword [rcx + 0x38]
mov rcx, rax
call fcn.1402695f0
mov rdi, rax
xor ecx, ecx
mov edx, 1
mov r8d, 0xfa0204
mov r9d, 0xd982e216
call fcn.1403aab00
mov rcx, rdi
mov rdx, rax
call fcn.1400b3970
mov rcx, rax
mov edx, esi
call fcn.140162be0
mov rcx, rax
call fcn.140278690
jmp 0x14039d750
lea rdx, [rbp - 0x10]
mov rcx, qword [rbp - 0x18]
call fcn.1403a7580
mov rdi, qword [rbp + 8]
mov rsi, qword [rbp + 0x10]
sub rsi, rdi
cmp rsi, 0x1000
jb 0x14039d950
mov rax, qword [rdi - 8]
add rdi, 0xfffffffffffffff8
sub rdi, rax
cmp rdi, 0x20
lea rbx, [rbp + 8]
jae 0x14039da60
add rsi, 0x27
mov rdi, rax
jmp 0x14039d954
lea rbx, [rbp + 8]
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov eax, 0xac65a43e
add eax, dword [0x1405794f0]
cmp ecx, eax
je 0x14039d99a
mov rcx, rdi
mov rdx, rsi
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov rax, qword [rbp - 8]
mov rax, qword [rax + 8]
mov qword [rax], 0
mov rcx, rdi
mov rdx, rsi
call fcn.1400ab270
xorps xmm0, xmm0
movups xmmword [rbx], xmm0
mov qword [rbx + 0x10], 0
mov rax, qword [rbp - 8]
mov rcx, qword [rax + 8]
mov qword [rcx], 0
mov rsi, qword [rax]
test rsi, rsi
je 0x14039da43
mov edi, 0xac65a467
mov bl, 1
jmp 0x14039d9e8
mov rsi, r14
test r14, r14
je 0x14039da43
mov eax, dword [0x1405926cc]
mov ecx, dword [0x1405794f0]
add ecx, edi
cmp eax, ecx
jge 0x14039da30
nop word [rax + rax]
mov r14, qword [rsi]
mov edx, 0x20
mov rcx, rsi
call fcn.1400ab270
mov eax, dword [0x1405926c8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14039d9e0
nop word cs:[rax + rax]
mov edx, 0x20
mov rcx, rsi
call fcn.1400ab270
test bl, bl
je 0x14039da30
jmp 0x14039da00
mov rcx, qword [rbp - 8]
mov edx, 0x20
call fcn.1400ab270
nop
add rsp, 0xf0
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
call fcn.1403e571c
call fcn.1403e571c
int3