Function at 0x140004c1c
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], r12
push rbp
push r14
push r15
lea rbp, [rax - 0x528]
sub rsp, 0x610
mov rax, qword [0x14005b178]
xor rax, rsp
mov qword [rbp + 0x500], rax
xorps xmm0, xmm0
lea rcx, [rbp + 0xc1]
xor ebx, ebx
xor edx, edx
mov r8d, 0x100
mov byte [rbp + 0xc0], bl
movdqu xmmword [rsp + 0x68], xmm0
call fcn.140018a40
mov edi, 0x104
lea rcx, [rbp - 0x4f]
mov r8d, edi
xor edx, edx
mov byte [rbp - 0x50], bl
call fcn.140018a40
lea rcx, [rbp + 0x1d1]
mov r8d, edi
xor edx, edx
mov dword [rsp + 0x40], ebx
mov dword [rsp + 0x44], ebx
mov qword [rsp + 0x48], rbx
mov byte [rbp + 0x1d0], bl
call fcn.140018a40
lea rcx, [rbp + 0x2e1]
mov r8d, edi
xor edx, edx
mov byte [rbp + 0x2e0], bl
call fcn.140018a40
lea rcx, [rbp + 0x3f1]
mov r8d, edi
xor edx, edx
mov byte [rbp + 0x3f0], bl
call fcn.140018a40
lea r12d, [rdi + 1]
lea rdx, [rbp + 0x3f0]
lea rcx, str.Yeljce_hR_
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp + 0x1d0]
lea rcx, str.j__dhIU_eo9__cMjikcf
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp + 0x2e0]
lea rcx, str._DWc
mov r8d, r12d
call fcn.14000fe00
xor eax, eax
lea rdi, [rsp + 0x68]
lea ecx, [rbx + 0x10]
lea r8, [rbp + 0x2e0]
lea rdx, [rbp + 0x1d0]
rep stosb byte [rdi], al
lea rax, [rsp + 0x50]
lea rcx, [rbp + 0x3f0]
mov qword [rsp + 0x20], rax
call fcn.140011ed0
or rsi, 0xffffffffffffffff
lea r14d, [rbx + 8]
test eax, eax
je 0x140004dc6
lea rax, [rsp + 0x50]
test rax, rax
je 0x140004db0
lea rax, [rsp + 0x68]
test rax, rax
je 0x140004db0
cmp r14w, word [rsp + 0x50]
jne 0x140004db0
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x38], rbx
lea rax, [rsp + 0x68]
mov qword [rsp + 0x30], rbx
mov r9d, esi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], 0x10
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x140004dc6
xor eax, eax
lea rdi, [rsp + 0x68]
lea ecx, [rax + 0x10]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rax
rep stosb byte [rdi], al
lea rcx, [rsp + 0x68]
mov rax, rsi
inc rax
cmp byte [rcx + rax], bl
jne 0x140004dce
test rax, rax
jne 0x140004e1d
mov rax, qword [0x1400a07a8]
mov dword [rsp + 0x40], 0x10
test rax, rax
jne 0x140004e09
lea edx, [rax + 0x2d]
xor ecx, ecx
call fcn.140007338
mov qword [0x1400a07a8], rax
test rax, rax
jne 0x140004e09
mov eax, ebx
jmp 0x140004e15
lea rdx, [rsp + 0x40]
lea rcx, [rsp + 0x68]
call rax
test eax, eax
je 0x140005662
lea rax, [rsp + 0x68]
mov ecx, ebx
mov r15d, 1
test rax, rax
je 0x140004e5d
lea rdx, [rsp + 0x68]
mov rax, rsi
inc rax
cmp byte [rdx + rax], bl
jne 0x140004e37
test eax, eax
je 0x140004e5d
lea rdx, [rsp + 0x68]
mov edi, eax
movsx eax, byte [rdx]
imul ecx, ecx, 0x811c9dc5
add rdx, r15
xor ecx, eax
sub rdi, r15
jne 0x140004e4a
shr ecx, 1
lea rdx, [rbp + 0x1d0]
mov r8d, r12d
add dword [0x1400a0710], ecx
lea rcx, str.d_jedY_Y_7MkU
call fcn.14000fe00
xor eax, eax
lea rdi, [rbp + 0xc0]
mov ecx, 0x101
lea r8, [rbp + 0x2e0]
lea rdx, [rbp + 0x1d0]
rep stosb byte [rdi], al
lea rax, [rsp + 0x50]
lea rcx, [rbp + 0x3f0]
mov qword [rsp + 0x20], rax
call fcn.140011ed0
test eax, eax
je 0x140004f29
lea rax, [rsp + 0x50]
test rax, rax
je 0x140004f05
lea rax, [rbp + 0xc0]
test rax, rax
je 0x140004f05
cmp r14w, word [rsp + 0x50]
jne 0x140004f05
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x38], rbx
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x30], rbx
mov r9d, esi
xor edx, edx
xor ecx, ecx
mov dword [rsp + 0x28], 0x101
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
test eax, eax
jne 0x140004f29
lea rcx, [rbp + 0xc0]
xor edx, edx
mov r8d, 0x101
call fcn.140018a40
lea rdi, [rbp + 0xc0]
xor eax, eax
mov ecx, 0x101
rep stosb byte [rdi], al
lea rcx, [rbp + 0xc0]
mov rax, rsi
inc rax
cmp byte [rcx + rax], bl
jne 0x140004f33
test rax, rax
jne 0x140004f85
mov rax, qword [0x1400a07a0]
mov dword [rsp + 0x44], 0x101
test rax, rax
jne 0x140004f6f
lea edx, [rax + 0x2e]
mov ecx, r15d
call fcn.140007338
mov qword [0x1400a07a0], rax
test rax, rax
jne 0x140004f6f
mov eax, ebx
jmp 0x140004f7d
lea rdx, [rsp + 0x44]
lea rcx, [rbp + 0xc0]
call rax
test eax, eax
je 0x140005662
lea rax, [rbp + 0xc0]
mov ecx, ebx
test rax, rax
je 0x140004fc5
lea rdx, [rbp + 0xc0]
mov rax, rsi
inc rax
cmp byte [rdx + rax], bl
jne 0x140004f9d
test eax, eax
je 0x140004fc5
lea rdx, [rbp + 0xc0]
mov edi, eax
movsx eax, byte [rdx]
imul ecx, ecx, 0x811c9dc5
add rdx, r15
xor ecx, eax
sub rdi, r15
jne 0x140004fb2
shr ecx, 1
lea rdx, [rbp - 0x50]
mov r8d, r12d
add dword [0x1400a0710], ecx
lea rcx, str.99EKAE
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140010108
lea rcx, [rsp + 0x68]
cmp rcx, rax
jne 0x140005076
lea rax, [rbp - 0x50]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], bl
jne 0x140004fff
lea rax, [rsp + 0x68]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x14000500f
lea rax, [rdi + 4]
cmp rax, rcx
ja 0x140005076
mov eax, edi
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x140005076
add edi, r15d
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012f18
test eax, eax
je 0x140005076
lea eax, [rdi + 1]
cmp byte [rsp + rax + 0x68], 0x2d
jne 0x140005076
lea rdx, [rbp - 0x50]
lea rcx, str._ihk
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140012db4
test eax, eax
je 0x14000565f
lea rdx, [rbp - 0x50]
lea rcx, str.D8N:7EI
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140010108
lea rcx, [rsp + 0x68]
cmp rcx, rax
jne 0x140005102
lea rax, [rbp - 0x50]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x1400050a8
lea rax, [rsp + 0x68]
mov rdx, rsi
inc rdx
cmp byte [rax + rdx], bl
jne 0x1400050b8
lea rax, [rcx + 1]
cmp rax, rdx
ja 0x140005102
movsx ecx, byte [rsp + rcx + 0x68]
call fcn.140012f18
test eax, eax
je 0x140005102
lea rdx, [rbp - 0x50]
lea rcx, str.__AjdZi_
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140012db4
test eax, eax
je 0x14000565f
lea rdx, [rbp - 0x50]
lea rcx, [0x140033e84]
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140010108
lea rcx, [rsp + 0x68]
cmp rcx, rax
jne 0x1400051a9
lea rax, [rbp - 0x50]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], bl
jne 0x140005134
lea rax, [rsp + 0x68]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x140005144
lea rax, [rdi + 2]
cmp rax, rcx
ja 0x1400051a9
mov eax, edi
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400051a9
lea eax, [rdi + 1]
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400051a9
lea rdx, [rbp - 0x50]
lea rcx, [0x140033e88]
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140010108
lea rcx, [rbp + 0xc0]
cmp rcx, rax
je 0x14000565f
lea rdx, [rbp - 0x50]
lea rcx, str.NNNN
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140010108
lea rcx, [rsp + 0x68]
cmp rcx, rax
jne 0x1400052b0
lea rax, [rbp - 0x50]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], bl
jne 0x1400051df
lea rax, [rsp + 0x68]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x1400051ef
lea rax, [rdi + 8]
cmp rax, rcx
jne 0x1400052b0
mov eax, edi
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400052b0
add edi, r15d
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400052b0
add edi, r15d
cmp byte [rsp + rdi + 0x68], 0x2d
jne 0x1400052b0
add edi, r15d
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400052b0
add edi, r15d
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400052b0
add edi, r15d
cmp byte [rsp + rdi + 0x68], 0x2d
jne 0x1400052b0
add edi, r15d
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400052b0
lea eax, [rdi + 1]
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400052b0
lea rdx, [rbp - 0x50]
lea rcx, str.hkiCj_hL_Wi
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140012db4
test eax, eax
je 0x14000565f
lea rdx, [rbp - 0x50]
lea rcx, [0x140033ea4]
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140010108
lea rcx, [rsp + 0x68]
cmp rcx, rax
jne 0x14000534f
lea rax, [rbp - 0x50]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], bl
jne 0x1400052e2
lea rax, [rsp + 0x68]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x1400052f2
lea rax, [rdi + 5]
cmp rax, rcx
ja 0x14000534f
mov eax, edi
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x14000534f
lea eax, [rdi + 1]
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x14000534f
lea rdx, [rbp - 0x50]
lea rcx, str.__MbjhX
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140012db4
test eax, eax
je 0x14000565f
lea rdx, [rbp - 0x50]
lea rcx, str.9__HBIM8J
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140010108
lea rcx, [rsp + 0x68]
cmp rcx, rax
jne 0x140005414
lea rax, [rbp - 0x50]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], bl
jne 0x140005385
lea rax, [rsp + 0x68]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x140005395
lea rax, [rdi + 4]
cmp rax, rcx
jne 0x140005414
mov eax, edi
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x140005414
add edi, r15d
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012f18
test eax, eax
je 0x140005414
add edi, r15d
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012f18
test eax, eax
je 0x140005414
lea eax, [rdi + 1]
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x140005414
lea rdx, [rbp - 0x50]
lea rcx, str.__MbjhX
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140012db4
test eax, eax
je 0x14000565f
lea rdx, [rbp - 0x50]
lea rcx, str.7INF7C
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x68]
call fcn.140010108
lea rcx, [rsp + 0x68]
cmp rcx, rax
jne 0x1400054b3
lea rax, [rbp - 0x50]
mov rdi, rsi
inc rdi
cmp byte [rax + rdi], bl
jne 0x140005446
lea rax, [rsp + 0x68]
mov rcx, rsi
inc rcx
cmp byte [rax + rcx], bl
jne 0x140005456
lea rax, [rdi + 2]
cmp rax, rcx
jne 0x1400054b3
mov eax, edi
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400054b3
lea eax, [rdi + 1]
movsx ecx, byte [rsp + rax + 0x68]
call fcn.140012f18
test eax, eax
je 0x1400054b3
lea rdx, [rbp - 0x50]
lea rcx, str.ic_ZlfWd
mov r8d, r12d
call fcn.14000fe00
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0xc0]
call fcn.140012db4
test eax, eax
je 0x14000565f
mov r14d, ebx
lea rcx, [rsp + 0x68]
mov rax, rsi
inc rax
cmp byte [rcx + rax], bl
jne 0x1400054be
test rax, rax
je 0x1400054f7
mov rdi, rbx
movsx ecx, byte [rsp + rdi + 0x68]
call fcn.140012d58
add r14d, r15d
lea rcx, [rsp + 0x68]
mov byte [rsp + rdi + 0x68], al
mov edi, r14d
mov rax, rsi
inc rax
cmp byte [rcx + rax], bl
jne 0x1400054ea
cmp rdi, rax
jb 0x1400054ce
xor eax, eax
mov qword [rsp + 0x48], 0x14
mov rdx, rsi
mov qword [rsp + 0x78], rax
mov qword [rbp - 0x80], rax
mov dword [rbp - 0x78], eax
lea rax, [rsp + 0x68]
inc rdx
cmp byte [rax + rdx], bl
jne 0x140005516
lea rax, [rsp + 0x68]
test rax, rax
je 0x14000553e
lea r9, [rsp + 0x48]
lea r8, [rsp + 0x78]
lea rcx, [rsp + 0x68]
call fcn.140011790
jmp 0x140005540
mov eax, ebx
test eax, eax
je 0x140005662
mov r14d, ebx
lea rcx, [rbp + 0xc0]
mov rax, rsi
inc rax
cmp byte [rcx + rax], bl
jne 0x140005555
test rax, rax
je 0x140005596
mov rdi, rbx
movsx ecx, byte [rbp + rdi + 0xc0]
call fcn.140012d58
add r14d, r15d
lea rcx, [rbp + 0xc0]
mov byte [rbp + rdi + 0xc0], al
mov edi, r14d
mov rax, rsi
inc rax
cmp byte [rcx + rax], bl
jne 0x140005589
cmp rdi, rax
jb 0x140005565
lea rcx, [rbp + 0xc0]
xor edx, edx
mov r8d, 0x101
call fcn.140018a40
mov qword [rsp + 0x48], 0x14
lea rax, [rbp + 0xc0]
inc rsi
cmp byte [rax + rsi], bl
jne 0x1400055ba
lea rax, [rbp + 0xc0]
test rax, rax
je 0x1400055e8
lea r9, [rsp + 0x48]
lea r8, [rbp - 0x70]
lea rcx, [rbp + 0xc0]
mov rdx, rsi
call fcn.140011790
jmp 0x1400055ea
mov eax, ebx
test eax, eax
je 0x140005662
mov r8d, dword [rbp - 0x60]
mov r9, qword [rbp - 0x68]
mov r10, qword [rbp - 0x70]
mov edi, ebx
lea rdx, [0x140064a50]
lea r11, [0x1400648c0]
mov eax, edi
imul rcx, rax, 0x320
mov rax, qword [rcx + r11]
cmp rax, qword [rsp + 0x78]
jne 0x140005728
mov rax, qword [rcx + r11 + 8]
cmp rax, qword [rbp - 0x80]
jne 0x140005728
mov eax, dword [rcx + r11 + 0x10]
cmp eax, dword [rbp - 0x78]
jne 0x140005728
test rdx, rdx
je 0x140005706
mov rax, rbx
cmp byte [rax + rdx], bl
jne 0x140005706
add rax, r15
cmp rax, 0x190
jb 0x14000564b
mov ebx, r15d
lea rcx, [rbp - 0x50]
mov rdx, r12
call fcn.140010a84
lea rcx, [rsp + 0x68]
mov edx, 0x10
call fcn.140010a84
lea rcx, [rbp + 0xc0]
mov edx, 0x101
call fcn.140010a84
lea rcx, [rsp + 0x78]
mov edx, 0x14
call fcn.140010a84
lea rcx, [rbp - 0x70]
mov edx, 0x14
call fcn.140010a84
lea rcx, [rbp + 0x1d0]
mov rdx, r12
call fcn.140010a84
lea rcx, [rbp + 0x2e0]
mov rdx, r12
call fcn.140010a84
lea rcx, [rsp + 0x50]
call qword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, ebx
mov rcx, qword [rbp + 0x500]
xor rcx, rsp
call fcn.140012b40
lea r11, [rsp + 0x610]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov r12, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
cmp qword [rcx + r11 + 0x190], r10
jne 0x140005728
cmp qword [rcx + r11 + 0x198], r9
jne 0x140005728
cmp dword [rcx + r11 + 0x1a0], r8d
je 0x14000565f
add edi, r15d
add rdx, 0x320
cmp edi, 0x9b
jae 0x140005662
jmp 0x14000560a