Function at 0x14001ba50
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 0x14001ba97
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 0x14001baaf
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 0x14001bae0
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 0x14001baf6
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 0x14001bea4
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 0x14001bb64
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 0x14001bc74
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 0x14001bc99
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 0x14001bcbd
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 0x14001bce2
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 0x14001bc60
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 0x14001bd2c
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 0x14001bd51
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 0x14001bd75
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 0x14001bd9a
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 0x14001bdbf
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 0x14001bde4
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 0x14001be09
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 0x14001be2e
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 0x14001bd18
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 0x14001be7b
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 0x14001be67
mov byte [0x1407065a7], 1
lea r14, [0x140000000]
lea rsi, [0x140706e18]
lea rbx, [0x140706fb0]
test r13, r13
je 0x14001c005
xor r11d, r11d
test r13, r13
je 0x14001c005
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 0x14001bef2
inc r9d
inc r10
cmp r9d, 4
jb 0x14001bee0
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 0x14001bf52
inc r9d
inc r10
cmp r9d, 8
jb 0x14001bf40
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 0x14001bfb2
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001bfa0
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001bed0
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 0x14001c3bf
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 0x14001c070
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 0x14001c17c
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 0x14001c1a3
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 0x14001c1c9
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 0x14001c1f0
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 0x14001c168
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 0x14001c236
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 0x14001c25c
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 0x14001c281
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 0x14001c2a7
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 0x14001c2cd
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 0x14001c2f3
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 0x14001c319
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 0x14001c33f
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 0x14001c222
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 0x14001c394
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 0x14001c380
mov byte [0x1407065a7], 1
lea rsi, [0x140706e18]
jmp 0x14001c3c6
lea r15, [0x140706f20]
test r13, r13
je 0x14001c525
xor r11d, r11d
test r13, r13
je 0x14001c525
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 0x14001c412
inc r9d
inc r10
cmp r9d, 4
jb 0x14001c400
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 0x14001c472
inc r9d
inc r10
cmp r9d, 8
jb 0x14001c460
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 0x14001c4d2
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001c4c0
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001c3f0
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
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