Function at 0x14001c5b0
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 0x14001c5f7
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 0x14001c60f
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 0x14001c640
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 0x14001c656
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 0x14001ca04
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 0x14001c6c4
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 0x14001c7d4
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 0x14001c7f9
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 0x14001c81d
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 0x14001c842
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 0x14001c7c0
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 0x14001c88c
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 0x14001c8b1
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 0x14001c8d5
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 0x14001c8fa
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 0x14001c91f
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 0x14001c944
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 0x14001c969
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 0x14001c98e
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 0x14001c878
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 0x14001c9db
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 0x14001c9c7
mov byte [0x1407065a7], 1
lea r14, [0x140000000]
lea rsi, [0x140706e18]
lea rbx, [0x140706fb0]
test r13, r13
je 0x14001cb65
xor r11d, r11d
test r13, r13
je 0x14001cb65
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 0x14001ca52
inc r9d
inc r10
cmp r9d, 4
jb 0x14001ca40
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 0x14001cab2
inc r9d
inc r10
cmp r9d, 8
jb 0x14001caa0
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 0x14001cb12
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001cb00
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001ca30
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 0x14001cf1f
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 0x14001cbd0
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 0x14001ccdc
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 0x14001cd03
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 0x14001cd29
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 0x14001cd50
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 0x14001ccc8
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 0x14001cd96
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 0x14001cdbc
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 0x14001cde1
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 0x14001ce07
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 0x14001ce2d
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 0x14001ce53
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 0x14001ce79
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 0x14001ce9f
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 0x14001cd82
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 0x14001cef4
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 0x14001cee0
mov byte [0x1407065a7], 1
lea rsi, [0x140706e18]
jmp 0x14001cf26
lea r15, [0x140706f20]
test r13, r13
je 0x14001d085
xor r11d, r11d
test r13, r13
je 0x14001d085
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 0x14001cf72
inc r9d
inc r10
cmp r9d, 4
jb 0x14001cf60
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 0x14001cfd2
inc r9d
inc r10
cmp r9d, 8
jb 0x14001cfc0
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 0x14001d032
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001d020
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001cf50
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 ecx, ecx
mov rax, rbx
call qword [case.0x14001f545.0]
mov rbx, rax
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