Function at 0x140042920
Capabilities:
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 - 0x2f0]
sub rsp, 0x3f0
mov rax, qword [0x140121218]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
mov qword [rsp + 0x48], r8
mov rdi, rdx
mov qword [rsp + 0x28], rdx
mov r13, rcx
mov qword [rsp + 0x68], 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, rdi
call fcn.140042110
mov rsi, rax
mov qword [rsp + 0x30], rax
test rax, rax
je 0x14004303b
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
lea r9d, [rbx + 0x40]
lea r8, [rbp - 0x80]
mov rdx, rax
mov rcx, rdi
call fcn.1400418a0
test eax, eax
js 0x14004303b
mov eax, 0x5a4d
cmp word [rbp - 0x80], ax
jne 0x14004303b
xor edx, edx
mov r8d, 0x108
lea rcx, [rbp + 0x90]
call fcn.1400c2270
movsxd rdx, dword [rbp - 0x44]
add rdx, rsi
mov r9d, 0x108
lea r8, [rbp + 0x90]
mov rcx, rdi
call fcn.1400418a0
test eax, eax
js 0x14004303b
cmp dword [rbp + 0x90], 0x4550
jne 0x14004303b
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
mov qword [rbp + 0x60], rax
mov r14d, dword [rbp + 0x118]
add r14, rsi
mov qword [rsp + 0x50], r14
mov eax, dword [rbp + 0x11c]
add rax, r14
mov qword [rsp + 0x40], rax
lea r9d, [rbx + 0x28]
lea r8, [rbp + 0x40]
mov rdx, r14
mov rcx, rdi
call fcn.1400418a0
test eax, eax
js 0x14004303b
mov r15d, dword [rbp + 0x5c]
add r15, rsi
mov qword [rsp + 0x58], r15
mov eax, dword [rbp + 0x64]
add rax, rsi
mov qword [rsp + 0x38], rax
mov eax, dword [rbp + 0x60]
add rax, rsi
mov qword [rsp + 0x60], rax
mov r12d, ebx
mov dword [rsp + 0x24], ebx
cmp dword [rbp + 0x54], ebx
jbe 0x14004303b
mov dword [rsp + 0x74], ebx
mov dword [rbp - 0x40], ebx
mov word [rsp + 0x70], bx
movsxd rbx, r12d
lea rdx, [rax + rbx*4]
mov r9d, 4
lea r8, [rsp + 0x74]
mov rcx, rdi
call fcn.1400418a0
test eax, eax
js 0x140043017
xorps xmm0, xmm0
movups xmmword [rbp + 0x1a0], xmm0
movups xmmword [rbp + 0x1b0], xmm0
movups xmmword [rbp + 0x1c0], xmm0
movups xmmword [rbp + 0x1d0], xmm0
mov edx, dword [rsp + 0x74]
add rdx, rsi
mov r9d, 0x40
lea r8, [rbp + 0x1a0]
mov rcx, rdi
call fcn.1400418a0
test eax, eax
js 0x140043017
xorps xmm0, xmm0
movups xmmword [rbp + 8], xmm0
xor ecx, ecx
mov qword [rbp + 0x18], rcx
mov qword [rbp + 0x20], rcx
lea rax, [rbp + 0x1a0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], cl
jne 0x140042b31
lea rdx, [rbp + 0x1a0]
lea rcx, [rbp + 8]
call fcn.1400042b0
nop
mov rax, qword [rsp + 0x38]
lea rdx, [rax + rbx*2]
mov r9d, 2
lea r8, [rsp + 0x70]
mov rcx, rdi
call fcn.1400418a0
test eax, eax
jns 0x140042baf
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x140043017
inc rdx
mov rcx, qword [rbp + 8]
cmp rdx, 0x1000
mov rax, rcx
jb 0x140042ba5
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043068
call fcn.1400bf530
jmp 0x140043017
movzx eax, word [rsp + 0x70]
lea rdx, [r15 + rax*4]
mov r9d, 4
lea r8, [rbp - 0x40]
mov rcx, rdi
call fcn.1400418a0
movzx eax, word [rsp + 0x70]
lea rdx, [r15 + rax*4]
mov r9d, 4
lea r8, [rbp - 0x40]
mov rcx, rdi
call fcn.1400418a0
test eax, eax
js 0x140042b6b
mov ebx, dword [rbp - 0x40]
add rbx, rsi
cmp rbx, r14
jb 0x140042e88
cmp rbx, qword [rsp + 0x40]
jae 0x140042e88
xor edx, edx
mov r8d, 0xff
lea rcx, [rbp + 0x1e0]
call fcn.1400c2270
mov r9d, 0xff
lea r8, [rbp + 0x1e0]
mov rdx, rbx
mov rcx, rdi
call fcn.1400418a0
xorps xmm0, xmm0
movups xmmword [rbp - 0x18], xmm0
xor eax, eax
mov qword [rbp - 8], rax
mov qword [rbp], rax
lea rax, [rbp + 0x1e0]
mov r8, 0xffffffffffffffff
nop
inc r8
cmp byte [rax + r8], 0
jne 0x140042c50
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x18]
call fcn.1400042b0
nop
lea rdi, [rbp - 0x18]
mov rsi, qword [rbp]
cmp rsi, 0x10
setae r15b
mov rbx, qword [rbp - 0x18]
cmovae rdi, rbx
mov r14, qword [rbp - 8]
test r14, r14
je 0x140042f40
mov r8, r14
mov edx, 0x2e
mov rcx, rdi
call fcn.1400c2610
test rax, rax
je 0x140042f40
sub rax, rdi
cmp rax, 0xffffffffffffffff
je 0x140042f40
xorps xmm0, xmm0
movups xmmword [rbp - 0x38], xmm0
xor ecx, ecx
mov qword [rbp - 0x28], rcx
mov qword [rbp - 0x20], rcx
lea r12, [rax + 1]
mov r8, r12
cmp r14, r12
cmovb r8, r14
lea rdx, [rbp - 0x18]
test r15b, r15b
cmovne rdx, rbx
lea rcx, [rbp - 0x38]
call fcn.1400042b0
mov r14d, dword [rsp + 0x20]
or r14d, 2
mov dword [rsp + 0x20], r14d
mov r8d, 3
lea rdx, [0x14010d08c]
lea rcx, [rbp - 0x38]
call fcn.140003aa0
lea rsi, [rbp - 0x38]
cmp qword [rbp - 0x20], 0x10
setae cl
mov rbx, qword [rbp - 0x38]
cmovae rsi, rbx
lea rdx, [rbp - 0x38]
mov rdi, qword [rbp - 0x28]
test cl, cl
je 0x140042d32
add rdi, rbx
jmp 0x140042d39
add rdi, rdx
lea rbx, [rbp - 0x38]
cmp rbx, rdi
je 0x140042d54
sub rsi, rbx
movsx ecx, byte [rbx]
call fcn.1400c8a38
mov byte [rsi + rbx], al
inc rbx
cmp rbx, rdi
jne 0x140042d41
xorps xmm0, xmm0
movups xmmword [rbp + 0x68], xmm0
xor edi, edi
mov qword [rbp + 0x78], rdi
mov qword [rbp + 0x80], rdi
mov rax, qword [rbp - 8]
cmp rax, r12
jb 0x14004307a
sub rax, r12
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
lea rdx, [rbp - 0x18]
cmp qword [rbp], 0x10
cmovae rdx, qword [rbp - 0x18]
add rdx, r12
lea rcx, [rbp + 0x68]
call fcn.1400042b0
or r14d, 4
mov dword [rsp + 0x20], r14d
lea r8, [rbp + 0x68]
lea rdx, [rbp - 0x38]
mov rcx, qword [rsp + 0x28]
call fcn.140042320
mov rbx, rax
mov rdx, qword [rbp + 0x80]
cmp rdx, 0x10
jb 0x140042dfd
inc rdx
mov rcx, qword [rbp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042df7
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14004306e
call fcn.1400bf530
nop
mov rdx, qword [rbp - 0x20]
cmp rdx, 0x10
jb 0x140042e38
inc rdx
mov rcx, qword [rbp - 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042e33
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043074
call fcn.1400bf530
mov qword [rbp - 0x28], rdi
mov qword [rbp - 0x20], sendto
mov byte [rbp - 0x38], 0
mov rdx, qword [rbp]
cmp rdx, 0x10
jb 0x140042e83
inc rdx
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042e7e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043080
call fcn.1400bf530
mov r12d, dword [rsp + 0x24]
mov qword [rbp + 0x38], rbx
mov rax, qword [rsp + 0x48]
mov r8, rax
cmp qword [rax + 0x18], 0x10
jb 0x140042e9e
mov r8, qword [rax]
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 0x140042ec0
mov qword [rbp + 0x28], rdx
lea r8, [rbp + 8]
mov rdi, qword [rbp + 0x20]
cmp rdi, 0x10
setae sil
mov rbx, qword [rbp + 8]
cmovae r8, rbx
mov rdx, r10
nop dword [rax]
nop word [rax + rax]
movsx rcx, byte [r8]
lea r8, [r8 + 1]
xor rdx, rcx
imul rdx, r9
test cl, cl
jne 0x140042f00
mov qword [rbp + 0x30], rdx
mov rdx, qword [r13 + 8]
cmp rdx, qword [r13 + 0x10]
je 0x140042fce
movups xmm0, xmmword [rbp + 0x28]
movups xmmword [rdx], xmm0
movsd xmm1, qword [rbp + 0x38]
movsd qword [rdx + 0x10], xmm1
add qword [r13 + 8], 0x18
jmp 0x140042fdb
test r15b, r15b
je 0x140042f76
lea rdx, [rsi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140042f6e
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043080
mov rcx, rbx
call fcn.1400bf530
xor ebx, ebx
mov qword [rbp - 8], rbx
mov qword [rbp], sendto
mov byte [rbp - 0x18], bl
mov rdx, qword [rbp + 0x20]
cmp rdx, 0x10
jb 0x140042fc2
inc rdx
mov rcx, qword [rbp + 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140042fbd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043086
call fcn.1400bf530
mov rdi, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x30]
jmp 0x140043019
lea r8, [rbp + 0x28]
mov rcx, r13
call fcn.140044fe0
nop
test sil, sil
je 0x14004300d
lea rdx, [rdi + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140043005
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140043068
mov rcx, rbx
call fcn.1400bf530
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x28]
xor ebx, ebx
inc r12d
mov dword [rsp + 0x24], r12d
cmp r12d, dword [rbp + 0x54]
jae 0x14004303b
mov r14, qword [rsp + 0x50]
mov r15, qword [rsp + 0x58]
mov rax, qword [rsp + 0x60]
jmp 0x140042aa1
mov rax, r13
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.1400bf510
mov rbx, qword [rsp + 0x448]
add rsp, 0x3f0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400c7f80
nop
call fcn.1400c7f80
nop
call fcn.1400c7f80
nop
call fcn.140003ee0
nop
call fcn.1400c7f80
nop
call fcn.1400c7f80
int3