Function at 0x140064600
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4b0]
sub rsp, 0x5b0
mov rax, qword [0x14017b4c0]
xor rax, rsp
mov qword [rbp + 0x4a0], rax
mov esi, ecx
xor ebx, ebx
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call qword [sym.imp.d3d9.dll_Direct3DCreate9]
mov rdi, rax
test rax, rax
je 0x140064671
mov rax, qword [rax]
lea r9, [rbp + 0x50]
xor r8d, r8d
mov edx, esi
mov rcx, rdi
call qword [rax + Ordinal_41]
mov rcx, qword [rdi]
mov rdx, qword [rcx + 0x10]
mov rcx, rdi
test eax, eax
jns 0x140064679
call rdx
mov rax, rbx
jmp 0x140064d8f
call rdx
mov r8, qword [0x140188988]
lea rcx, [r8 + 0x20]
mov rdx, qword [r8 + 0x10]
mov r10, qword [rcx + 0x10]
movabs r15, 0x7fffffffffffffff
mov rax, r15
sub rax, rdx
cmp rax, r10
jb 0x140064dc5
mov r9, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x1400646b4
mov r9, qword [r8]
cmp qword [rcx + 0x18], 0xf
jbe 0x1400646be
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp + 0x28]
call fcn.140012da0
nop
lea r9, [rbp + 0x28]
mov r12, qword [rbp + 0x28]
cmp qword [rbp + 0x40], 0xf
cmova r9, r12
mov rcx, rbx
mov rdx, rbx
mov r8, qword [rbp + 0x38]
test r8, r8
je 0x140064721
nop dword [rax]
movsx rax, byte [r9 + rdx]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r8
jb 0x140064700
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
movabs r13, 0x5851f42d4c957f2d
test rax, rax
jne 0x14006474e
imul r8, r13
inc r8
jmp 0x140064751
mov r8, rax
mov rax, qword [0x140188988]
sub r8, qword [rax + 0x40]
cmp byte [rax + 0x48], 0
sete al
lea rcx, [0x14015bac4]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 5
mov byte [rbp - 0x70], al
movabs rax, 0x5000000000000000
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x6f], r8
movabs rax, 0x4000000000000001
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x70], 2
lea rax, [rbp - 0x80]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp - 0x40]
call fcn.14000fd40
nop
mov r8, qword [0x140188988]
lea rcx, [r8 + 0x20]
mov rdx, qword [r8 + 0x10]
mov r10, qword [rcx + 0x10]
mov rax, r15
sub rax, rdx
cmp rax, r10
jb 0x140064dcb
mov r9, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x140064806
mov r9, qword [r8]
cmp qword [rcx + 0x18], 0xf
jbe 0x140064810
mov rcx, qword [rcx]
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x28], rcx
mov qword [rsp + 0x20], rdx
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.140012da0
nop
lea r9, [rbp - 0x40]
cmp qword [rbp - 0x28], 0xf
cmova r9, qword [rbp - 0x40]
mov rcx, rbx
mov rdx, rbx
mov r8, qword [rbp - 0x30]
test r8, r8
je 0x140064871
nop dword [rax + rax]
movsx rax, byte [rdx + r9]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r8
jb 0x140064850
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x140064894
imul r8, r13
inc r8
jmp 0x140064897
mov r8, rax
lea r10, [rbp - 0x60]
mov rsi, qword [rbp - 0x60]
mov r14, qword [rbp - 0x48]
cmp r14, 0xf
cmova r10, rsi
mov rcx, rbx
mov rdx, rbx
mov r9, qword [rbp - 0x50]
test r9, r9
je 0x1400648e1
nop word [rax + rax]
movsx rax, byte [rdx + r10]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r9
jb 0x1400648c0
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x140064904
imul r9, r13
inc r9
jmp 0x140064907
mov r9, rax
imul r9, r8
mov rcx, qword [0x140188988]
mov r8, qword [rcx + 0x40]
inc r8
xor edx, edx
mov rax, r9
div r8
lea rcx, [0x1401513cc]
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0x68], 2
mov qword [rsp + 0x58], rax
movabs rax, 0x4000000000000000
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x70], 1
lea rax, [rsp + 0x50]
mov qword [rsp + 0x78], rax
movaps xmm0, xmmword [rsp + 0x70]
movdqa xmmword [rsp + 0x70], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm1
lea r8, [rsp + 0x70]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x18]
call fcn.14000fd40
lea r8, [rbp - 0x18]
mov r9, qword [rbp - 0x18]
mov r10, qword [rbp]
cmp r10, 0xf
cmova r8, r9
mov rcx, rbx
mov rdx, rbx
mov rdi, qword [rbp - 8]
test rdi, rdi
je 0x1400649d1
nop dword [rax]
movsx rax, byte [r8 + rdx]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, rdi
jb 0x1400649b0
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x1400649f4
imul rdi, r13
inc rdi
jmp 0x1400649f7
mov rdi, rax
mov rax, qword [0x1401888c8]
mov r13, qword [rax + 0x10]
cmp r10, 0xf
jbe 0x140064a39
lea rdx, [r10 + 1]
mov rax, r9
cmp rdx, 0x1000
jb 0x140064a31
add rdx, 0x27
mov r9, qword [r9 - 8]
sub rax, r9
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064dd1
mov rcx, r9
call fcn.1400ce56c
movdqa xmm0, xmmword [0x14015cbe0]
movdqu xmmword [rbp - 8], xmm0
mov byte [rbp - 0x18], 0
cmp r14, 0xf
jbe 0x140064a89
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140064a79
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064dd7
mov rcx, rsi
call fcn.1400ce56c
movdqa xmm0, xmmword [0x14015cbe0]
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x140064acc
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140064abf
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064ddd
call fcn.1400ce56c
movdqa xmm0, xmmword [0x14015cbe0]
movdqu xmmword [rbp - 0x30], xmm0
mov byte [rbp - 0x40], 0
mov rax, qword [rbp + 0x40]
cmp rax, 0xf
jbe 0x140064b11
lea rdx, [rax + 1]
mov rax, r12
cmp rdx, 0x1000
jb 0x140064b09
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064de3
mov rcx, r12
call fcn.1400ce56c
cmp r13, rdi
je 0x140064b1c
inc dword [rbp + 0x478]
mov r8, qword [0x140188988]
lea rax, [r8 + 0x20]
mov rcx, qword [r8 + 0x10]
mov rdx, qword [rax + 0x10]
sub r15, rcx
cmp r15, rdx
jb 0x140064de9
mov r9, r8
cmp qword [r8 + 0x18], 0xf
jbe 0x140064b48
mov r9, qword [r8]
cmp qword [rax + 0x18], 0xf
jbe 0x140064b52
mov rax, qword [rax]
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rcx
movzx edx, byte [rsp + 0x40]
lea rcx, [rbp - 0x60]
call fcn.140012da0
nop
lea r9, [rbp - 0x60]
mov rsi, qword [rbp - 0x60]
mov r14, qword [rbp - 0x48]
cmp r14, 0xf
cmova r9, rsi
mov rcx, rbx
mov rdx, rbx
mov r8, qword [rbp - 0x50]
test r8, r8
je 0x140064bc1
nop dword [rax]
nop word [rax + rax]
movsx rax, byte [r9 + rdx]
add rax, rcx
imul rcx, rax, 0x401
mov rax, rcx
shr rax, 6
xor rcx, rax
inc rdx
cmp rdx, r8
jb 0x140064ba0
lea rax, [rcx + rcx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
movabs r15, 0x5851f42d4c957f2d
test rax, rax
jne 0x140064bee
imul r8, r15
inc r8
jmp 0x140064bf1
mov r8, rax
mov rax, qword [0x140188988]
sub r8, qword [rax + 0x40]
cmp byte [rax + 0x48], 0
sete al
lea rcx, [0x14015bac4]
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x58], 5
mov byte [rbp - 0x70], al
movabs rax, 0x5000000000000000
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x6f], r8
movabs rax, 0x4000000000000001
mov qword [rbp - 0x78], rax
mov qword [rsp + 0x60], 2
lea rax, [rbp - 0x80]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movaps xmm1, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x50], xmm1
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x50]
lea rcx, [rbp + 8]
call fcn.14000fd40
lea rdx, [rbp + 8]
mov r8, qword [rbp + 8]
mov r9, qword [rbp + 0x20]
cmp r9, 0xf
cmova rdx, r8
mov rcx, rbx
mov rdi, qword [rbp + 0x18]
test rdi, rdi
je 0x140064cc1
nop word [rax + rax]
movsx rax, byte [rdx + rcx]
add rax, rbx
imul rbx, rax, 0x401
mov rax, rbx
shr rax, 6
xor rbx, rax
inc rcx
cmp rcx, rdi
jb 0x140064ca0
lea rax, [rbx + rbx*8]
mov rcx, rax
shr rcx, 0xb
xor rcx, rax
imul rax, rcx, 0x8001
test rax, rax
jne 0x140064ce4
imul rdi, r15
inc rdi
jmp 0x140064ce7
mov rdi, rax
mov rax, qword [0x1401888c8]
mov rbx, qword [rax + 8]
cmp r9, 0xf
jbe 0x140064d29
lea rdx, [r9 + 1]
mov rax, r8
cmp rdx, 0x1000
jb 0x140064d21
add rdx, 0x27
mov r8, qword [r8 - 8]
sub rax, r8
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064def
mov rcx, r8
call fcn.1400ce56c
movdqa xmm0, xmmword [0x14015cbe0]
movdqu xmmword [rbp + 0x18], xmm0
mov byte [rbp + 8], 0
cmp r14, 0xf
jbe 0x140064d6d
lea rdx, [r14 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140064d65
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140064dbf
mov rcx, rsi
call fcn.1400ce56c
cmp rbx, rdi
je 0x140064d7c
mov eax, dword [rbp + 0x47c]
dec eax
jmp 0x140064d82
mov eax, dword [rbp + 0x47c]
shl rax, 0x20
mov ecx, dword [rbp + 0x478]
or rax, rcx
mov rcx, qword [rbp + 0x4a0]
xor rcx, rsp
call fcn.1400ce1f0
lea r11, [rsp + 0x5b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.1400e1a34
int3
call fcn.140002530
nop
call fcn.140002530
nop
call fcn.1400e1a34
nop
call fcn.1400e1a34
nop
call fcn.1400e1a34
nop
call fcn.1400e1a34
int3
call fcn.140002530
nop
call fcn.1400e1a34
int3