Function at 0x180003470
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0xe0]
sub rsp, 0x1e0
mov rax, qword [0x180018008]
xor rax, rsp
mov qword [rbp + 0xd0], rax
xor edx, edx
lea rcx, [rbp - 0x40]
mov r8d, 0x104
call fcn.180004ab0
mov ecx, 0x8007
call qword [sym.imp.KERNEL32.dll_SetErrorMode]
xor ecx, ecx
mov edx, 0x410
mov r8d, 0x1000
lea r9d, [rcx + 4]
call qword [0x180019c50]
mov rdi, rax
test rax, rax
jne 0x1800034dd
xor ebx, ebx
jmp 0x18000380c
xor eax, eax
mov dword [rsp + 0x48], 0xf7eaf2fd
xor ebx, ebx
mov dword [rsp + 0x4c], 0xafaff7ff
mov edx, ebx
mov dword [rsp + 0x50], 0xcdccfbb0
mov byte [rsp + 0x54], al
nop
movsxd rax, edx
lea rcx, [rsp + 0x48]
add rcx, rax
lea eax, [rdx - 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0xc
jb 0x180003500
lea rcx, [rsp + 0x48]
mov byte [rsp + 0x54], bl
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
movdqa xmm0, xmmword [0x1800162f0]
xor ecx, ecx
movdqu xmmword [rbp - 0x58], xmm0
mov byte [rbp - 0x46], cl
mov r8d, ebx
mov word [rbp - 0x48], 0xe6c1
movsxd rcx, r8d
lea rdx, [rbp - 0x58]
add rdx, rcx
lea ecx, [r8 - 0x6a]
inc r8d
xor byte [rdx], cl
cmp r8d, 0x12
jb 0x180003541
lea rdx, [rbp - 0x58]
mov byte [rbp - 0x46], bl
mov rcx, rax
call fcn.180003850
mov qword [0x180019bb8], rax
test rax, rax
je 0x18000380c
movdqa xmm0, xmmword [0x1800162a0]
mov edx, ebx
movdqu xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x68], 0xdac2df
nop dword [rax]
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rsp + 0x58]
add rcx, rax
lea eax, [rdx - 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0x13
jb 0x1800035a0
lea rdx, [rsp + 0x58]
mov byte [rsp + 0x6b], bl
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcatA]
call fcn.180002dd0
test eax, eax
je 0x18000380c
mov r8d, 0x104
lea rdx, [rbp - 0x40]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
movdqa xmm0, xmmword [0x1800162b0]
xor eax, eax
movdqu xmmword [rsp + 0x58], xmm0
mov byte [rsp + 0x6a], al
mov edx, ebx
mov word [rsp + 0x68], 0xd4d1
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rsp + 0x58]
add rcx, rax
lea eax, [rdx - 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0x12
jb 0x180003610
mov byte [rsp + 0x6a], bl
mov edx, ebx
mov dword [rsp + 0x38], 0xfdf1e5d4
mov dword [rsp + 0x3c], 0xfefffefd
mov dword [rsp + 0x40], 0xc5edf1
nop word [rax + rax]
movsxd rax, edx
lea rcx, [rsp + 0x38]
add rcx, rax
lea eax, [rdx - 0x6a]
inc edx
xor byte [rcx], al
cmp edx, 0xb
jb 0x180003650
lea rax, [rbp - 0x40]
mov byte [rsp + 0x43], bl
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rdx, rdi
lea rcx, [rsp + 0x38]
call fcn.180003000
mov eax, 0x7ea2
mov dword [rsp + 0x70], 0x7ee57ed4
mov word [rbp - 0x78], ax
mov ecx, 0x7ea3
movzx eax, word [0x180016212]
mov edx, ebx
xor ax, cx
mov dword [rsp + 0x74], 0x7efd7ef1
mov word [rbp - 0x76], ax
mov ecx, 0x7ea4
movzx eax, word [0x180016214]
mov r8d, 0x7e96
xor ax, cx
mov dword [rsp + 0x78], 0x7efe7efd
mov word [rbp - 0x74], ax
mov ecx, 0x7ea5
movzx eax, word [0x180016216]
xor ax, cx
mov dword [rsp + 0x7c], 0x7ef27edf
mov word [rbp - 0x72], ax
mov ecx, 0x7ea6
movzx eax, word [0x180016218]
xor ax, cx
mov dword [rbp - 0x80], 0x7ef27ef3
mov word [rbp - 0x70], ax
mov ecx, 0x7ea7
movzx eax, word [0x18001621a]
xor ax, cx
mov dword [rbp - 0x7c], 0x7ecf7ecf
mov word [rbp - 0x6e], ax
mov ecx, 0x7ea8
movzx eax, word [0x18001621c]
xor ax, cx
mov ecx, 0x7ea9
mov word [rbp - 0x6c], ax
movzx eax, word [0x18001621e]
xor ax, cx
mov ecx, 0x7eaa
mov word [rbp - 0x6a], ax
movzx eax, word [0x180016220]
xor ax, cx
mov ecx, 0x7eab
mov word [rbp - 0x68], ax
movzx eax, word [0x180016222]
xor ax, cx
mov ecx, 0x7eac
mov word [rbp - 0x66], ax
movzx eax, word [0x180016224]
xor ax, cx
mov ecx, 0x7ead
mov word [rbp - 0x64], ax
movzx eax, word [0x180016226]
xor ax, cx
mov ecx, 0x7eae
mov word [rbp - 0x62], ax
movzx eax, word [0x180016228]
xor ax, cx
mov word [rbp - 0x60], ax
xor eax, eax
mov word [rbp - 0x5e], ax
nop
movsxd rax, edx
lea rcx, [rsp + 0x70]
lea rcx, [rcx + rax*2]
lea eax, [r8 + rdx]
inc edx
xor word [rcx], ax
cmp edx, 0x19
jb 0x1800037b0
lea rcx, [rsp + 0x70]
mov word [rbp - 0x5e], bx
call fcn.180002a20
mov word [rsp + 0x30], 0xa3
nop
movsxd rax, ebx
lea rcx, [rsp + 0x30]
add rcx, rax
lea eax, [rbx - 0x6a]
inc ebx
xor byte [rcx], al
cmp ebx, 1
jb 0x1800037e0
lea rcx, [rsp + 0x30]
mov byte [rsp + 0x31], 0
call qword [0x180019bb8]
mov ebx, 1
test rdi, rdi
je 0x180003822
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [0x180019cb0]
mov eax, ebx
mov rcx, qword [rbp + 0xd0]
xor rcx, rsp
call fcn.180003960
lea r11, [rsp + 0x1e0]
mov rbx, qword [r11 + 0x10]
mov rdi, qword [r11 + 0x18]
mov rsp, r11
pop rbp
ret