Function at 0x14001d110
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 - 0x70]
sub rsp, 0x170
mov rax, qword [0x140554040]
xor rax, rsp
mov qword [rbp + 0x60], rax
mov qword [rbp - 0x38], r9
mov rdi, rdx
mov qword [rbp - 0x28], rdx
mov rax, rcx
mov qword [rbp - 0x30], rcx
mov qword [rbp + 0x50], rcx
mov qword [rbp + 0x58], rdx
mov rcx, qword [rbp + 0xd0]
mov qword [rbp - 0x40], rcx
mov ecx, dword [rbp + 0xe0]
mov dword [rbp - 0x7c], ecx
mov ecx, dword [rbp + 0xe8]
mov dword [rbp - 0x80], ecx
mov rcx, qword [rbp + 0x110]
mov qword [rbp - 0x48], rcx
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x14001d189
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov qword [rbp - 0x50], rax
mov rbx, rdi
cmp qword [rdi + 0x18], 0xf
jbe 0x14001d1a0
mov rbx, qword [rdi]
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x40], xmm1
xor r8d, r8d
lea rdx, [0x1405230e8]
lea rcx, [rbp + 0x30]
call fcn.140001d60
nop
cmp byte [0x140706618], 0
jne 0x14001d1d1
call fcn.140004390
xorps xmm0, xmm0
movups xmmword [rbp + 0x10], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x20], xmm1
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x14001d1f0
mov rdx, rbx
lea rcx, [rbp + 0x10]
call fcn.140001d60
nop
lea rdx, [rbp + 0x10]
lea rcx, [rbp - 0x10]
call fcn.140017c30
mov r13, qword [rbp]
lea rdi, [rbp - 0x10]
cmp qword [rbp + 8], 0xf
cmova rdi, qword [rbp - 0x10]
mov qword [rsp + 0x78], rdi
lea r14, [0x140000000]
lea r12, [0x140706e19]
mov qword [rbp - 0x78], r12
lea r15, [0x140706fb1]
lea rsi, [0x140706f20]
cmp byte [0x1407065a7], 0
jne 0x14001d5ab
xor esi, esi
movabs rdi, 0x101010101010101
lea rcx, [rsp + 0x70]
call fcn.1400020f0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x70]
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 - 0x20]
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 - 0x18]
call fcn.1400020f0
mov rbx, qword [rax]
mov qword [rsp + 0x70], 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 0x14001d264
lea rcx, [rsp + 0x70]
call fcn.1400020f0
xor r14d, r14d
mov rsi, r12
mov rbx, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x78]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14001d374
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 0x14001d399
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 0x14001d3bd
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 0x14001d3e2
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 0x14001d360
lea rcx, [rsp + 0x78]
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 0x14001d42c
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 0x14001d451
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 0x14001d475
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 0x14001d49a
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 0x14001d4bf
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 0x14001d4e4
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 0x14001d509
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 0x14001d52e
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 0x14001d418
lea rcx, [rsp + 0x70]
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 0x14001d57b
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 0x14001d567
mov byte [0x1407065a7], 1
lea r14, [0x140000000]
lea rsi, [0x140706f20]
lea rbx, [0x140706fb0]
test r13, r13
je 0x14001d705
xor r11d, r11d
test r13, r13
je 0x14001d705
nop word [rax + rax]
xor r9d, r9d
movzx ecx, byte [rdi]
lea r10, [0x140706e18]
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 0x14001d5f2
inc r9d
inc r10
cmp r9d, 4
jb 0x14001d5e0
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 0x14001d652
inc r9d
inc r10
cmp r9d, 8
jb 0x14001d640
xor r9d, r9d
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 0x14001d6b2
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001d6a0
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001d5d0
lea rdx, [rbp - 0x10]
lea rcx, [rbp + 0x30]
call fcn.140017a90
lea rcx, [rbp - 0x10]
call fcn.140001cd0
nop
lea rcx, [rbp + 0x10]
call fcn.140001cd0
nop
lea rdx, [rbp + 0x30]
lea rcx, [rbp + 0x10]
call fcn.140017c30
nop
mov rdx, rax
lea rcx, [rbp - 0x70]
call fcn.140017c30
mov r13, qword [rbp - 0x60]
lea rdi, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rdi, qword [rbp - 0x70]
cmp byte [0x1407065a7], 0
jne 0x14001dab0
xor esi, esi
movabs r12, 0x101010101010101
nop dword [rax + rax]
lea rcx, [rsp + 0x70]
call fcn.1400020f0
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
movsxd rcx, eax
mov rax, qword [rsp + 0x70]
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 - 0x18]
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 - 0x20]
call fcn.1400020f0
mov rbx, qword [rax]
mov qword [rsp + 0x70], 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 0x14001d770
lea rcx, [rsp + 0x78]
call fcn.1400020f0
xor esi, esi
mov rbx, qword [rsp + 0x78]
mov r12, qword [rbp - 0x78]
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14001d87b
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 0x14001d8a2
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 0x14001d8c8
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 0x14001d8ef
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 0x14001d867
lea rcx, [rbp - 0x78]
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 0x14001d934
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 0x14001d95a
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 0x14001d97f
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 0x14001d9a5
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 0x14001d9cb
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 0x14001d9f1
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 0x14001da17
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 0x14001da3d
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 0x14001d920
lea rcx, [rsp + 0x78]
call fcn.1400020f0
mov rbx, qword [rax]
xor esi, esi
lea r12, [0x140706f20]
mov r14, r12
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
and eax, 0x8000000f
jge 0x14001da8c
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 0x14001da78
mov byte [0x1407065a7], 1
jmp 0x14001dab7
lea r12, [0x140706f20]
xor esi, esi
test r13, r13
je 0x14001dc15
mov r11d, esi
lea rbx, [0x140000000]
lea r14, [0x140706e18]
lea r15, [0x140706fb0]
nop word [rax + rax]
mov r9d, esi
movzx eax, byte [rdi]
mov r10, r14
nop dword [rax]
mov r8d, esi
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 0x14001db02
inc r9d
inc r10
cmp r9d, 4
jb 0x14001daf0
mov r9d, esi
mov r10, r15
nop dword [rax]
mov r8d, esi
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 0x14001db62
inc r9d
inc r10
cmp r9d, 8
jb 0x14001db50
mov r9d, esi
mov r10, r12
nop dword [rax]
mov r8d, esi
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 0x14001dbc2
inc r9d
inc r10
cmp r9d, 0xc
jb 0x14001dbb0
inc r11d
inc rdi
movsxd rax, r11d
cmp rax, r13
jb 0x14001dae0
lea rcx, [rbp + 0x10]
call fcn.140001cd0
lea rdx, [rbp - 0x70]
cmp qword [rbp - 0x58], 0xf
cmova rdx, qword [rbp - 0x70]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rbx, rax
lea rcx, [rbp - 0x70]
call fcn.140001cd0
nop
lea rcx, [rbp + 0x30]
call fcn.140004730
mov qword [rsp + 0x58], rsi
mov rax, qword [rbp - 0x48]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x40], rsi
mov dword [rsp + 0x38], 0xd2
mov dword [rsp + 0x30], 0x12c
mov eax, dword [rbp - 0x80]
mov dword [rsp + 0x28], eax
mov eax, dword [rbp - 0x7c]
mov dword [rsp + 0x20], eax
mov r9d, 0x80000000
mov r8, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x38]
mov ecx, 8
mov rax, rbx
call qword [case.0x14001f545.0]
mov rbx, rax
mov rcx, qword [rbp - 0x30]
call fcn.140001cd0
nop
mov rcx, qword [rbp - 0x28]
call fcn.140001cd0
mov rax, rbx
mov rcx, qword [rbp + 0x60]
xor rcx, rsp
call fcn.1400e9c90
mov rbx, qword [rsp + 0x1c0]
add rsp, 0x170
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret