Function at 0x14001af00
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0x100
mov rax, qword [0x140554040]
xor rax, rsp
mov qword [rbp + 0x17], rax
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 0x14001af47
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 0x14001af5f
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 0x14001af90
call fcn.140004390
xorps xmm0, xmm0
movups xmmword [rbp - 0x39], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x29], xmm1
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rbx + r8], 0
jne 0x14001afa6
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 + 0x50], r12
lea r15, [0x140706fb1]
cmp byte [0x1407065a7], 0
jne 0x14001b354
xor esi, esi
movabs rdi, 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, 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 0x14001b014
lea rcx, [rsp + 0x20]
call fcn.1400020f0
xor r14d, r14d
mov rsi, r12
mov rbx, qword [rsp + 0x20]
mov rdi, qword [rsp + 0x28]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14001b124
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 0x14001b149
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 0x14001b16d
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 0x14001b192
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 0x14001b110
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 0x14001b1dc
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 0x14001b201
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 0x14001b225
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 0x14001b24a
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 0x14001b26f
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 0x14001b294
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 0x14001b2b9
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 0x14001b2de
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 0x14001b1c8
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 0x14001b32b
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 0x14001b317
mov byte [0x1407065a7], 1
lea r14, [0x140000000]
lea rsi, [0x140706e18]
lea rbx, [0x140706fb0]
test r13, r13
je 0x14001b4b5
xor r11d, r11d
test r13, r13
je 0x14001b4b5
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 0x14001b3a2
inc r9d
inc r10
cmp r9d, 4
jb 0x14001b390
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 0x14001b402
inc r9d
inc r10
cmp r9d, 8
jb 0x14001b3f0
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 0x14001b462
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001b450
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001b380
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 + 0x30]
call fcn.140017c30
mov r13, qword [rsp + 0x40]
lea rdi, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rdi, qword [rsp + 0x30]
cmp byte [0x1407065a7], 0
jne 0x14001b867
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 0x14001b520
lea rcx, [rsp + 0x28]
call fcn.1400020f0
xor esi, esi
mov rbx, qword [rsp + 0x28]
mov r12, qword [rsp + 0x50]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14001b62c
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 0x14001b653
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 0x14001b679
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 0x14001b6a0
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 0x14001b618
lea rcx, [rbp + 0xf]
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 0x14001b6e5
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 0x14001b70b
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 0x14001b730
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 0x14001b756
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 0x14001b77c
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 0x14001b7a2
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 0x14001b7c8
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 0x14001b7ee
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 0x14001b6d1
lea rcx, [rbp + 7]
call fcn.1400020f0
mov rbx, qword [rax]
xor esi, esi
lea r15, [0x140706f20]
mov r14, r15
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14001b83c
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 0x14001b828
mov byte [0x1407065a7], 1
lea rsi, [0x140706e18]
jmp 0x14001b86e
lea r15, [0x140706f20]
test r13, r13
je 0x14001b9d5
xor r11d, r11d
test r13, r13
je 0x14001b9d5
lea rbx, [0x140000000]
lea r14, [0x140706fb0]
nop dword [rax]
nop word [rax + 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 0x14001b8c2
inc r9d
inc r10
cmp r9d, 4
jb 0x14001b8b0
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 0x14001b922
inc r9d
inc r10
cmp r9d, 8
jb 0x14001b910
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 0x14001b982
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001b970
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001b8a0
lea rcx, [rbp - 0x39]
call fcn.140001cd0
lea rdx, [rsp + 0x30]
cmp qword [rsp + 0x48], 0xf
cmova rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rsp + 0x30]
call fcn.140001cd0
nop
lea rcx, [rbp - 0x19]
call fcn.140004730
nop
mov rcx, qword [rbp - 0x79]
call fcn.140001cd0
nop
mov rcx, qword [rbp - 0x71]
call fcn.140001cd0
mov rax, rbx
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.1400e9c90
mov rbx, qword [rsp + 0x150]
add rsp, 0x100
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret