Function at 0x140012270
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x320
mov rax, qword [0x1400f63f8]
xor rax, rsp
mov qword [rsp + 0x318], rax
mov rdi, r9
mov r13, r8
mov rbx, rdx
mov qword [rsp + 0x88], rcx
mov qword [rsp + 0x68], rdx
xor edx, edx
mov r8d, VarDecFix
lea rcx, [rsp + 0x110]
call fcn.1400878c0
lea rcx, [rsp + 0x110]
call fcn.140017a98
nop
mov rdx, rbx
lea rcx, [rsp + 0xf0]
call fcn.140005910
mov rbx, rax
xor edx, edx
mov r8d, VarDecFix
lea rcx, [rsp + 0x250]
call fcn.1400878c0
lea rcx, [rsp + 0x250]
call fcn.140017a98
nop
lea rax, [rsp + 0x258]
mov qword [rsp + 0x78], rax
lea rax, [rsp + 0x2a0]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x300]
mov qword [rsp + 0x30], rax
lea rax, [rsp + 0x2f8]
mov qword [rsp + 0x28], rax
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
lea r9, [rsp + 0x70]
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.1400186f4
test al, al
je 0x14001239c
mov rcx, qword [rsp + 0x2f0]
mov rax, qword [rsp + 0x80]
mov qword [rsp + 0x2f0], rax
test rcx, rcx
je 0x14001237d
call fcn.14008c4a0
lea rdx, [rsp + 0x250]
lea rcx, [rsp + 0x110]
mov rax, qword [rsp + 0x110]
call qword [rax + 0x80]
nop
mov rcx, qword [rsp + 0x2f0]
test rcx, rcx
je 0x1400123ae
call fcn.14008c4a0
lea rcx, [rsp + 0x2a0]
call fcn.140012dc0
lea rcx, [rsp + 0x258]
call fcn.140012dc0
nop
mov rdx, qword [rsp + 0x108]
cmp rdx, 8
jb 0x140012411
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001240c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d2c
call fcn.140084c40
xor esi, esi
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], 7
mov word [rsp + 0x90], si
lea r8d, [rsi + 0xa]
lea rdx, str.resources_
lea rcx, [rsp + 0x90]
call fcn.140003b60
nop
mov r15, qword [rdi + 0x10]
movabs rcx, 0x7ffffffffffffffe
mov rax, rcx
sub rax, r15
cmp rax, 1
jb 0x140012d32
cmp qword [rdi + 0x18], 8
jb 0x140012478
mov rdi, qword [rdi]
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
lea r12, [r15 + 1]
mov ebx, 7
lea r14, [rsp + 0x48]
cmp r12, rbx
jbe 0x1400124dc
mov rbx, r12
or rbx, 7
cmp rbx, rcx
jbe 0x1400124ab
mov rbx, rcx
jmp 0x1400124b8
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
mov rdx, rbx
add rdx, 1
mov rax, 0xffffffffffffffff
cmovb rdx, rax
lea rcx, [rsp + 0x48]
call fcn.140003ea0
mov r14, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], rbx
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, rdi
mov rcx, r14
call fcn.140087210
mov eax, 0x5c
mov word [rbx + r14], ax
mov word [r14 + r12*2], si
mov r8, r13
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0xf0]
call fcn.14000de90
mov r9, rax
mov rdx, qword [rax + 0x10]
cmp qword [rax + 0x18], 8
jb 0x14001252d
mov r9, qword [rax]
mov rcx, qword [rsp + 0xa0]
mov r8, qword [rsp + 0xa8]
mov rax, r8
sub rax, rcx
cmp rdx, rax
ja 0x14001257f
lea rdi, [rcx + rdx]
mov qword [rsp + 0xa0], rdi
lea rbx, [rsp + 0x90]
cmp r8, 8
cmovae rbx, qword [rsp + 0x90]
lea rcx, [rbx + rcx*2]
lea r8, [rdx + rdx]
mov rdx, r9
call fcn.140087210
mov word [rbx + rdi*2], si
jmp 0x140012598
mov qword [rsp + 0x20], rdx
movzx r8d, byte [rsp + 0x40]
lea rcx, [rsp + 0x90]
call fcn.1400041a0
nop
mov rdx, qword [rsp + 0x108]
cmp rdx, 8
jb 0x1400125e0
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xf0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400125db
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d38
call fcn.140084c40
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], 7
mov word [rsp + 0xf0], si
mov rdx, qword [rsp + 0x60]
cmp rdx, 8
jb 0x14001263e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012639
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d3e
call fcn.140084c40
movzx eax, byte [0x1400f7080]
cmp al, 6
ja 0x140012674
lea r8, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae r8, qword [rsp + 0x90]
mov edx, 6
lea rcx, str.get_file__s
call fcn.1400308d0
lea rcx, [rsp + 0x110]
mov rax, qword [rsp + 0x110]
call qword [rax + 0x70]
test rax, rax
je 0x140012c10
mov rax, qword [rsp + 0xa0]
lea rcx, [rax + rax]
movzx eax, cx
cmp rax, rcx
jne 0x140012c10
lea r15, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae r15, qword [rsp + 0x90]
movzx edi, word [rsp + 0xa0]
lea r12, [r15 + rdi*2]
mov rbx, r15
mov r14d, 0x811c9dc5
cmp r15, r12
je 0x1400126fe
nop dword [rax]
movzx ecx, word [rbx]
call fcn.14009c8e8
movzx ecx, ax
imul r14, r14, 0x1000193
xor r14, rcx
add rbx, 2
cmp rbx, r12
jne 0x1400126e0
mov rcx, qword [rsp + 0x198]
and rcx, r14
add rcx, rcx
mov rax, qword [rsp + 0x180]
mov rbx, qword [rax + rcx*8 + 8]
cmp rbx, qword [rsp + 0x170]
je 0x140012c10
mov r14, qword [rax + rcx*8]
nop dword [rax + rax]
cmp di, word [rbx + 0x18]
jne 0x140012c02
mov r8, rdi
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.14009bac4
test eax, eax
jne 0x140012c02
test rbx, rbx
je 0x140012c10
cmp rbx, qword [rsp + 0x170]
je 0x140012c10
mov rdi, qword [rbx + 0x20]
mov ebx, dword [rbx + 0x28]
mov rdx, qword [rsp + 0xa8]
cmp rdx, 8
jb 0x1400127b7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400127b2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d5e
call fcn.140084c40
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], 7
mov word [rsp + 0x90], si
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x1d0], xmm0
movups xmmword [rsp + 0x1e0], xmm0
movups xmmword [rsp + 0x1f0], xmm0
movups xmmword [rsp + 0x200], xmm0
movups xmmword [rsp + 0x210], xmm0
movups xmmword [rsp + 0x220], xmm0
movups xmmword [rsp + 0x230], xmm0
mov qword [rsp + 0x240], rax
lea rcx, [rsp + 0x1d0]
call fcn.1400134c0
nop
mov qword [rsp + 0xf0], rsi
mov qword [rsp + 0x100], rsi
mov qword [rsp + 0x108], 0xf
mov byte [rsp + 0xf0], 0
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], 0xf
mov byte [rsp + 0xb0], 0
test rbx, rbx
jne 0x140012884
mov qword [rsp + 0xc0], rbx
mov byte [rsp + rbx + 0xb0], bl
jmp 0x1400128c4
lea rcx, [rsp + 0xb0]
cmp rbx, 0xf
ja 0x1400128ae
mov qword [rsp + 0xc0], rbx
mov r8, rbx
xor edx, edx
call fcn.1400878c0
mov byte [rsp + rbx + 0xb0], 0
jmp 0x1400128c4
mov byte [rsp + 0x20], 0
mov r9, rbx
movzx r8d, byte [rsp + 0x40]
mov rdx, rbx
call fcn.140008590
lea rcx, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae rcx, qword [rsp + 0xb0]
mov r8, rbx
mov rdx, rdi
call fcn.140087210
mov qword [rsp + 0xd0], rsi
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], 7
mov word [rsp + 0xd0], si
xor r8d, r8d
lea rdx, [0x1400d8ed0]
lea rcx, [rsp + 0xd0]
call fcn.140003b60
nop
lea r8, [rsp + 0xb0]
cmp qword [rsp + 0xc8], 0x10
cmovae r8, qword [rsp + 0xb0]
mov r9, qword [rsp + 0xc0]
add r9, r8
lea rdx, [rsp + 0x48]
lea rcx, [rsp + 0x1d0]
call fcn.140013a50
mov rdx, qword [rsp + 0xe8]
cmp rdx, 8
jb 0x1400129a4
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14001299f
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d44
call fcn.140084c40
movups xmm0, xmmword [rsp + 0x48]
movups xmmword [rsp + 0xd0], xmm0
movups xmm1, xmmword [rsp + 0x58]
movups xmmword [rsp + 0xe0], xmm1
mov rdi, qword [rsp + 0x88]
lea rbx, [rdi + 0x60]
mov qword [rsp + 0x68], rbx
mov rcx, rbx
call fcn.14005d12c
test eax, eax
jne 0x140012d4a
lea rcx, [rdi + 0xb0]
lea rdx, [rsp + 0xd0]
call fcn.1400143e0
test al, al
jne 0x140012a1e
lea rdx, [rsp + 0xd0]
cmp qword [rsp + 0xe8], 8
cmovae rdx, qword [rsp + 0xd0]
lea rcx, str.failed_to_get_oobe_map_from__s
call fcn.1400104d0
nop
mov rcx, rbx
call fcn.14005d150
nop
mov rdx, qword [rsp + 0xe8]
cmp rdx, 8
jb 0x140012a6f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0xd0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012a6a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d52
call fcn.140084c40
mov qword [rsp + 0xe0], rsi
mov qword [rsp + 0xe8], 7
mov word [rsp + 0xd0], si
mov rdx, qword [rsp + 0xc8]
cmp rdx, 0x10
jb 0x140012ace
inc rdx
mov rcx, qword [rsp + 0xb0]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012ac9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d58
call fcn.140084c40
mov qword [rsp + 0xc0], rsi
mov qword [rsp + 0xc8], 0xf
mov byte [rsp + 0xb0], 0
lea rcx, [rsp + 0x1d0]
call fcn.1400133d0
nop
mov rcx, qword [rsp + 0x1b0]
test rcx, rcx
je 0x140012b0a
call fcn.14008c4a0
lea rcx, [rsp + 0x160]
call fcn.140012dc0
lea rcx, [rsp + 0x118]
call fcn.140012dc0
mov al, 1
jmp 0x140012d09
cmp rbx, r14
je 0x140012c10
mov rbx, qword [rbx + 8]
jmp 0x140012730
movzx eax, byte [0x1400f7080]
cmp al, 6
ja 0x140012c47
lea r8, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae r8, qword [rsp + 0x90]
mov edx, 6
lea rcx, str.failed_to_get_file__s
call fcn.1400308d0
nop
mov rdx, qword [rsp + 0xa8]
cmp rdx, 8
jb 0x140012c8f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x90]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140012c8a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140012d5e
call fcn.140084c40
mov qword [rsp + 0xa0], rsi
mov qword [rsp + 0xa8], 7
mov word [rsp + 0x90], si
mov rcx, qword [rsp + 0x1b0]
test rcx, rcx
je 0x140012cbd
call fcn.14008c4a0
lea rcx, [rsp + 0x160]
call fcn.140012dc0
lea rcx, [rsp + 0x118]
call fcn.140012dc0
xor al, al
jmp 0x140012d09
mov rcx, qword [rsp + 0x318]
xor rcx, rsp
call fcn.140085660
add rsp, 0x320
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
call fcn.14008c334
nop
call fcn.140001d30
nop
call fcn.14008c334
nop
call fcn.14008c334
nop
call fcn.14008c334
nop
mov ecx, eax
call fcn.14005d6ec
nop
call fcn.14008c334
nop
call fcn.14008c334
nop
call fcn.14008c334
int3