Function at 0x140047c80
Capabilities:
Encode data using xor
Hash data using fnv
Parse pe header

Disassembly:
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x2e0]
sub rsp, 0x3e0
mov rax, qword [0x140122218]
xor rax, rsp
mov qword [rbp + 0x2d0], rax
mov rsi, r8
mov qword [rsp + 0x28], r8
mov r13, rdx
mov r12, rcx
mov qword [rsp + 0x60], rcx
mov eax, 1
mov dword [rsp + 0x20], eax
xorps xmm0, xmm0
movups xmmword [rcx], xmm0
xor ebx, ebx
mov qword [rcx], rbx
mov qword [rcx + 8], rbx
mov qword [rcx + 0x10], rbx
mov dword [rsp + 0x20], eax
mov rdx, r8
mov rcx, r13
call fcn.140047640
mov rdi, rax
mov qword [rsp + 0x48], rax
test rax, rax
je 0x140048200
xorps xmm0, xmm0
movups xmmword [rsp + 0x70], xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
lea r9d, [rbx + 0x40]
lea r8, [rsp + 0x70]
mov rdx, rax
mov rcx, r13
call fcn.140046f40
test eax, eax
js 0x140048200
mov eax, 0x5a4d
cmp word [rsp + 0x70], ax
jne 0x140048200
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x80]
call fcn.1400c45f0
movsxd rdx, dword [rbp - 0x54]
add rdx, rdi
mov r9d, 0x108
lea r8, [rbp + 0x80]
mov rcx, r13
call fcn.140046f40
test eax, eax
js 0x140048200
cmp dword [rbp + 0x80], 0x4550
jne 0x140048200
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
mov qword [rbp + 0x50], rax
mov r15d, dword [rbp + 0x108]
add r15, rdi
mov qword [rsp + 0x50], r15
mov eax, dword [rbp + 0x10c]
add rax, r15
mov qword [rsp + 0x40], rax
lea r9d, [rbx + 0x28]
lea r8, [rbp + 0x30]
mov rdx, r15
mov rcx, r13
call fcn.140046f40
test eax, eax
js 0x140048200
mov eax, dword [rbp + 0x4c]
add rax, rdi
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x54]
add rax, rdi
mov qword [rsp + 0x30], rax
mov eax, dword [rbp + 0x50]
add rax, rdi
mov qword [rsp + 0x58], rax
mov r14d, ebx
mov dword [rsp + 0x24], ebx
cmp dword [rbp + 0x44], ebx
jbe 0x140048200
mov dword [rsp + 0x6c], ebx
mov dword [rbp - 0x50], ebx
mov word [rsp + 0x68], bx
movsxd rbx, r14d
lea rdx, [rax + rbx*4]
mov r9d, 4
lea r8, [rsp + 0x6c]
mov rcx, r13
call fcn.140046f40
test eax, eax
js 0x1400481dc
xorps xmm0, xmm0
movups xmmword [rbp + 0x190], xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
mov edx, dword [rsp + 0x6c]
add rdx, rdi
mov r9d, 0x40
lea r8, [rbp + 0x190]
mov rcx, r13
call fcn.140046f40
test eax, eax
js 0x1400481dc
xorps xmm0, xmm0
movups xmmword [rbp - 8], xmm0
xor ecx, ecx
mov qword [rbp + 8], rcx
mov qword [rbp + 0x10], rcx
lea rax, [rbp + 0x190]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], cl
jne 0x140047e91
lea rdx, [rbp + 0x190]
lea rcx, [rbp - 8]
call fcn.140007aa0
nop
mov rax, qword [rsp + 0x30]
lea rdx, [rax + rbx*2]
mov r9d, 2
lea r8, [rsp + 0x68]
mov rcx, r13
call fcn.140046f40
test eax, eax
js 0x1400481d3
movzx eax, word [rsp + 0x68]
mov rbx, qword [rsp + 0x38]
lea rdx, [rbx + rax*4]
mov r9d, 4
lea r8, [rbp - 0x50]
mov rcx, r13
call fcn.140046f40
movzx eax, word [rsp + 0x68]
lea rdx, [rbx + rax*4]
mov r9d, 4
lea r8, [rbp - 0x50]
mov rcx, r13
call fcn.140046f40
test eax, eax
js 0x1400481d3
mov ebx, dword [rbp - 0x50]
add rbx, rdi
cmp rbx, r15
jb 0x14004810f
cmp rbx, qword [rsp + 0x40]
jae 0x14004810f
xor edx, edx
mov r8d, 0xff
lea rcx, [rbp + 0x1d0]
call fcn.1400c45f0
mov r9d, 0xff
lea r8, [rbp + 0x1d0]
mov rdx, rbx
mov rcx, r13
call fcn.140046f40
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
xor eax, eax
mov qword [rbp - 0x38], rax
mov qword [rbp - 0x30], rax
lea rax, [rbp + 0x1d0]
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp byte [rax + r8], 0
jne 0x140047f80
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp - 0x48]
call fcn.140007aa0
nop
lea rbx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
setae r15b
mov rsi, qword [rbp - 0x48]
cmovae rbx, rsi
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x1400481ac
mov r8, rdi
mov edx, 0x2e
mov rcx, rbx
call fcn.1400c4990
test rax, rax
je 0x1400481ac
sub rax, rbx
cmp rax, 0xffffffffffffffff
je 0x1400481ac
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
xor ecx, ecx
mov qword [rbp - 0x18], rcx
mov qword [rbp - 0x10], rcx
lea r14, [rax + 1]
mov r8, r14
cmp rdi, r14
cmovb r8, rdi
lea rdx, [rbp - 0x48]
test r15b, r15b
cmovne rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.140007aa0
mov r15d, dword [rsp + 0x20]
or r15d, 2
mov dword [rsp + 0x20], r15d
mov r8d, 3
lea rdx, [0x14010b484]
lea rcx, [rbp - 0x28]
call fcn.140006f70
lea rsi, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
setae cl
mov rbx, qword [rbp - 0x28]
cmovae rsi, rbx
lea rdx, [rbp - 0x28]
mov rdi, qword [rbp - 0x18]
test cl, cl
je 0x14004805f
add rdi, rbx
jmp 0x140048066
add rdi, rdx
lea rbx, [rbp - 0x28]
cmp rbx, rdi
je 0x140048083
sub rsi, rbx
nop
movsx ecx, byte [rbx]
call fcn.1400cae00
mov byte [rbx + rsi], al
inc rbx
cmp rbx, rdi
jne 0x140048070
xorps xmm0, xmm0
movups xmmword [rbp + 0x58], xmm0
xor eax, eax
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x70], rax
mov rax, qword [rbp - 0x38]
cmp rax, r14
jb 0x14004822d
sub rax, r14
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rdx, qword [rbp - 0x48]
add rdx, r14
lea rcx, [rbp + 0x58]
call fcn.140007aa0
or r15d, 4
mov dword [rsp + 0x20], r15d
lea r8, [rbp + 0x58]
lea rdx, [rbp - 0x28]
mov rcx, r13
call fcn.1400477d0
mov rbx, rax
lea rcx, [rbp + 0x58]
call fcn.140006f10
nop
lea rcx, [rbp - 0x28]
call fcn.140006f10
nop
lea rcx, [rbp - 0x48]
call fcn.140006f10
mov r14d, dword [rsp + 0x24]
mov rsi, qword [rsp + 0x28]
mov qword [rbp + 0x28], rbx
mov r8, rsi
cmp qword [rsi + 0x18], 0x10
jb 0x140048120
mov r8, qword [rsi]
movabs r10, 0xcbf29ce484222325
mov rdx, r10
movabs r9, 0x100000001b3
nop word [rax + rax]
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r9
test cl, cl
jne 0x140048140
mov qword [rbp + 0x18], rdx
lea r8, [rbp - 8]
cmp qword [rbp + 0x10], 0x10
cmovae r8, qword [rbp - 8]
mov rdx, r10
nop dword [rax + rax]
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r9
test cl, cl
jne 0x140048170
mov qword [rbp + 0x20], rdx
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x1400481c6
movups xmm0, xmmword [rbp + 0x18]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rbp + 0x28]
movsd qword [rdx + 0x10], xmm1
add qword [r12 + 8], 0x18
jmp 0x1400481d3
lea rcx, [rbp - 0x48]
call fcn.140006f10
nop
lea rcx, [rbp - 8]
call fcn.140006f10
mov rsi, qword [rsp + 0x28]
jmp 0x1400481dc
lea r8, [rbp + 0x18]
mov rcx, r12
call fcn.14004a080
nop
lea rcx, [rbp - 8]
call fcn.140006f10
inc r14d
mov dword [rsp + 0x24], r14d
cmp r14d, dword [rbp + 0x44]
jae 0x140048200
mov rdi, qword [rsp + 0x48]
mov r15, qword [rsp + 0x50]
mov rax, qword [rsp + 0x58]
xor ebx, ebx
jmp 0x140047e01
mov rax, r12
mov rcx, qword [rbp + 0x2d0]
xor rcx, rsp
call fcn.1400c17f0
mov rbx, qword [rsp + 0x438]
add rsp, 0x3e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400073b0
nop
int3