Function at 0x14006e4a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0x100
mov rax, qword [0x140554040]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov qword [rsp + 0x60], r8
mov rdi, rdx
mov qword [rbp - 0x71], rdx
mov qword [rbp - 0x79], rcx
mov qword [rbp + 7], rcx
mov qword [rbp + 0xf], rdx
cmp qword [rcx + 0x18], 0xf
jbe 0x14006e4ec
mov rcx, qword [rcx]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rsp + 0x58], rax
mov rbx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14006e504
mov rbx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp - 0x19], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 9], xmm1
xor r8d, r8d
lea rdx, [0x1405230e8]
lea rcx, [rbp - 0x19]
call fcn.140001d60
nop
cmp byte [0x140706618], 0
jne 0x14006e535
call fcn.140004390
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x29], xmm1
mov r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x14006e550
mov rdx, rbx
lea rcx, [rbp - 0x39]
call fcn.140001d60
nop
lea rdx, [rbp - 0x39]
lea rcx, [rbp - 0x59]
call fcn.140017c30
mov r13, qword [rbp - 0x49]
lea rdi, [rbp - 0x59]
cmp qword [rbp - 0x41], 0xf
cmova rdi, qword [rbp - 0x59]
mov qword [rsp + 0x28], rdi
lea r14, [0x140000000]
lea r12, [0x140706e19]
mov qword [rsp + 0x30], r12
lea r15, [0x140706fb1]
cmp byte [0x1407065a7], 0
jne 0x14006e904
xor esi, esi
movabs rdi, 0x101010101010101
nop
lea rcx, [rsp + 0x20]
call fcn.1400020f0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x20]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, rdi
mov qword [rsi + r14 + 0x706f30], rax
lea rcx, [rbp - 0x69]
call fcn.1400020f0
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, rdi
mov qword [rsi + r14 + 0x706e20], rax
lea rcx, [rbp - 0x61]
call fcn.1400020f0
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, rdi
mov qword [rsi + r14 + 0x706ea0], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14006e5c0
lea rcx, [rsp + 0x20]
call fcn.1400020f0
xor r14d, r14d
mov rsi, r12
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
nop dword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e6d4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi - 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e6f9
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e71d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e742
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 2], dl
add r14d, 4
add rsi, 4
cmp r14d, 4
jb 0x14006e6c0
lea rcx, [rsp + 0x28]
call fcn.1400020f0
mov rbx, qword [rax]
xor r14d, r14d
mov rsi, r15
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e78c
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi - 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e7b1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e7d5
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e7fa
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 2], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e81f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 3], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e844
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 4], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e869
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 5], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e88e
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [rsi + 6], dl
add r14d, 8
add rsi, 8
cmp r14d, 8
jb 0x14006e778
lea rcx, [rsp + 0x20]
call fcn.1400020f0
mov rbx, qword [rax]
xor esi, esi
lea r14, [0x140706f20]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006e8db
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
inc esi
inc r14
cmp esi, 0xc
jb 0x14006e8c7
mov byte [0x1407065a7], 1
lea r14, [0x140000000]
lea rsi, [0x140706e18]
lea rbx, [0x140706fb0]
test r13, r13
je 0x14006ea65
xor r11d, r11d
test r13, r13
je 0x14006ea65
nop word [rax + rax]
xor r9d, r9d
movzx ecx, byte [rdi]
mov r10, rsi
nop dword [rax]
xor r8d, r8d
movzx eax, byte [r10]
lea rdx, [rax*8 + 0x706f31]
add rdx, r14
xor cl, byte [rdx - 1]
mov byte [rdi], cl
xor cl, byte [rdx]
mov byte [rdi], cl
xor cl, byte [rdx + 1]
mov byte [rdi], cl
xor cl, byte [rdx + 2]
mov byte [rdi], cl
xor cl, byte [rdx + 3]
mov byte [rdi], cl
xor cl, byte [rdx + 4]
mov byte [rdi], cl
xor cl, byte [rdx + 5]
mov byte [rdi], cl
xor cl, byte [rdx + 6]
mov byte [rdi], cl
add r8d, 8
lea rdx, [rdx + 8]
cmp r8d, 8
jb 0x14006e952
inc r9d
inc r10
cmp r9d, 4
jb 0x14006e940
xor r9d, r9d
mov r10, rbx
nop dword [rax]
xor r8d, r8d
movzx eax, byte [r10]
lea rdx, [rax*8 + 0x706e21]
add rdx, r14
xor cl, byte [rdx - 1]
mov byte [rdi], cl
xor cl, byte [rdx]
mov byte [rdi], cl
xor cl, byte [rdx + 1]
mov byte [rdi], cl
xor cl, byte [rdx + 2]
mov byte [rdi], cl
xor cl, byte [rdx + 3]
mov byte [rdi], cl
xor cl, byte [rdx + 4]
mov byte [rdi], cl
xor cl, byte [rdx + 5]
mov byte [rdi], cl
xor cl, byte [rdx + 6]
mov byte [rdi], cl
add r8d, 8
lea rdx, [rdx + 8]
cmp r8d, 8
jb 0x14006e9b2
inc r9d
inc r10
cmp r9d, 8
jb 0x14006e9a0
xor r9d, r9d
lea r10, [0x140706f20]
nop dword [rax]
xor r8d, r8d
movzx eax, byte [r10]
lea rdx, [rax*8 + 0x706f31]
add rdx, r14
xor cl, byte [rdx - 1]
mov byte [rdi], cl
xor cl, byte [rdx]
mov byte [rdi], cl
xor cl, byte [rdx + 1]
mov byte [rdi], cl
xor cl, byte [rdx + 2]
mov byte [rdi], cl
xor cl, byte [rdx + 3]
mov byte [rdi], cl
xor cl, byte [rdx + 4]
mov byte [rdi], cl
xor cl, byte [rdx + 5]
mov byte [rdi], cl
xor cl, byte [rdx + 6]
mov byte [rdi], cl
add r8d, 8
lea rdx, [rdx + 8]
cmp r8d, 8
jb 0x14006ea12
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14006ea00
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14006e930
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x19]
call fcn.140017a90
lea rcx, [rbp - 0x59]
call fcn.140001cd0
nop
lea rcx, [rbp - 0x39]
call fcn.140001cd0
nop
lea rdx, [rbp - 0x19]
lea rcx, [rbp - 0x39]
call fcn.140017c30
nop
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140017c30
mov r13, qword [rsp + 0x48]
lea rdi, [rsp + 0x38]
cmp qword [rsp + 0x50], 0xf
cmova rdi, qword [rsp + 0x38]
cmp byte [0x1407065a7], 0
jne 0x14006ee1f
xor esi, esi
movabs r12, 0x101010101010101
lea rcx, [rsp + 0x20]
call fcn.1400020f0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x20]
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0xf
add rax, rdx
and eax, 0xf
sub rax, rdx
inc rax
xor rax, 0x10
shl rax, 0xa
or rax, r12
mov qword [rsi + r14 + 0x706f30], rax
lea rcx, [rbp - 0x61]
call fcn.1400020f0
mov rbx, qword [rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x1f
add rax, rdx
and eax, 0x1f
sub rax, rdx
inc rax
xor rax, 0x20
shl rax, 0xb
or rax, r12
mov qword [rsi + r14 + 0x706e20], rax
lea rcx, [rbp - 0x69]
call fcn.1400020f0
mov rbx, qword [rax]
mov qword [rsp + 0x20], rbx
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, rbx
cqo
idiv rcx
mov rax, rdx
cqo
and edx, 0x3f
add rax, rdx
and eax, 0x3f
sub rax, rdx
inc rax
xor rax, 0x40
shl rax, 0xc
or rax, r12
mov qword [rsi + r14 + 0x706ea0], rax
add rsi, 8
cmp rsi, 0x80
jl 0x14006ead0
lea rcx, [rsp + 0x28]
call fcn.1400020f0
xor esi, esi
mov rbx, qword [rsp + 0x28]
mov r12, qword [rsp + 0x30]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ebdc
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12 - 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ec03
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ec29
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12 + 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ec50
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r12 + 2], dl
add esi, 4
add r12, 4
cmp esi, 4
jb 0x14006ebc8
lea rcx, [rsp + 0x30]
call fcn.1400020f0
mov rbx, qword [rax]
xor esi, esi
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ec96
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15 - 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ecbc
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ece1
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15 + 1], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ed07
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15 + 2], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ed2d
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15 + 3], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ed53
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15 + 4], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ed79
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15 + 5], dl
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006ed9f
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r15 + 6], dl
add esi, 8
add r15, 8
cmp esi, 8
jb 0x14006ec82
lea rcx, [rsp + 0x28]
call fcn.1400020f0
mov rbx, qword [rax]
xor esi, esi
lea r15, [0x140706f20]
mov r14, r15
nop word [rax + rax]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14006edf4
dec eax
or eax, 0xfffffff0
inc eax
inc al
movsx rcx, al
mov rax, rbx
cqo
idiv rcx
mov byte [r14], dl
inc esi
inc r14
cmp esi, 0xc
jb 0x14006ede0
mov byte [0x1407065a7], 1
lea rsi, [0x140706e18]
jmp 0x14006ee26
lea r15, [0x140706f20]
test r13, r13
je 0x14006ef85
xor r11d, r11d
test r13, r13
je 0x14006ef85
lea rbx, [0x140000000]
lea r14, [0x140706fb0]
nop dword [rax]
xor r9d, r9d
movzx eax, byte [rdi]
mov r10, rsi
nop dword [rax]
xor r8d, r8d
movzx ecx, byte [r10]
lea rdx, [rbx + 0x706f31]
lea rdx, [rdx + rcx*8]
xor al, byte [rdx - 1]
mov byte [rdi], al
xor al, byte [rdx]
mov byte [rdi], al
xor al, byte [rdx + 1]
mov byte [rdi], al
xor al, byte [rdx + 2]
mov byte [rdi], al
xor al, byte [rdx + 3]
mov byte [rdi], al
xor al, byte [rdx + 4]
mov byte [rdi], al
xor al, byte [rdx + 5]
mov byte [rdi], al
xor al, byte [rdx + 6]
mov byte [rdi], al
add r8d, 8
lea rdx, [rdx + 8]
cmp r8d, 8
jb 0x14006ee72
inc r9d
inc r10
cmp r9d, 4
jb 0x14006ee60
xor r9d, r9d
mov r10, r14
nop dword [rax]
xor r8d, r8d
movzx ecx, byte [r10]
lea rdx, [rbx + 0x706e21]
lea rdx, [rdx + rcx*8]
xor al, byte [rdx - 1]
mov byte [rdi], al
xor al, byte [rdx]
mov byte [rdi], al
xor al, byte [rdx + 1]
mov byte [rdi], al
xor al, byte [rdx + 2]
mov byte [rdi], al
xor al, byte [rdx + 3]
mov byte [rdi], al
xor al, byte [rdx + 4]
mov byte [rdi], al
xor al, byte [rdx + 5]
mov byte [rdi], al
xor al, byte [rdx + 6]
mov byte [rdi], al
add r8d, 8
lea rdx, [rdx + 8]
cmp r8d, 8
jb 0x14006eed2
inc r9d
inc r10
cmp r9d, 8
jb 0x14006eec0
xor r9d, r9d
mov r10, r15
nop dword [rax]
xor r8d, r8d
movzx ecx, byte [r10]
lea rdx, [rbx + 0x706f31]
lea rdx, [rdx + rcx*8]
xor al, byte [rdx - 1]
mov byte [rdi], al
xor al, byte [rdx]
mov byte [rdi], al
xor al, byte [rdx + 1]
mov byte [rdi], al
xor al, byte [rdx + 2]
mov byte [rdi], al
xor al, byte [rdx + 3]
mov byte [rdi], al
xor al, byte [rdx + 4]
mov byte [rdi], al
xor al, byte [rdx + 5]
mov byte [rdi], al
xor al, byte [rdx + 6]
mov byte [rdi], al
add r8d, 8
lea rdx, [rdx + 8]
cmp r8d, 8
jb 0x14006ef32
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14006ef20
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14006ee50
lea rcx, [rbp - 0x39]
call fcn.140001cd0
lea rdx, [rsp + 0x38]
cmp qword [rsp + 0x50], 0xf
cmova rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rsp + 0x38]
call fcn.140001cd0
nop
lea rcx, [rbp - 0x19]
call fcn.140004730
xor edx, edx
mov r8d, 0x8000
mov rcx, qword [rsp + 0x60]
mov rax, rbx
call qword [case.0x14001f545.0]
mov ebx, eax
mov rcx, qword [rbp - 0x79]
call fcn.140001cd0
nop
mov rcx, qword [rbp - 0x71]
call fcn.140001cd0
mov eax, ebx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400e9c90
mov rbx, qword [rsp + 0x158]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret