Function at 0x140089290
Capabilities:
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x40
mov ecx, 0x666
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [0x1406e87ac], 0xa
jl 0x1400892d2
mov eax, dword [0x1406e87a8]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1400892d2
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x1400892d0
mov eax, dword [0x1406e7fb4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406e7fb0], 0xa
setl r8b
or r8b, al
mov ecx, dword [0x1406e7fbc]
mov edi, dword [0x1406e7fb8]
jne 0x14008930b
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
jmp 0x140089335
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
sete dl
cmp edi, 0xa
setl al
or al, dl
cmp al, 1
jne 0x140089364
mov rbp, qword gs:[0x60]
test al, al
je 0x140089364
test r8b, r8b
jne 0x14008936f
mov rax, qword gs:[0x60]
cmp edi, 0xa
jl 0x14008930b
test ebx, ebx
je 0x14008930b
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x140089350
mov rdx, qword gs:[0x60]
jmp 0x140089323
mov rax, qword [rbp + 0x18]
mov rax, qword [rax + 0x10]
mov ecx, dword [0x1406e84a0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406e84a4], 0xa
mov r9, qword [rax]
setl r15b
or r15b, cl
mov eax, dword [0x1406e7f9c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e7f98], 0xa
setl al
or al, cl
mov ecx, dword [0x1406e84f8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406e84fc], 0xa
setl r10b
or r10b, cl
mov rsi, qword [r9 + 0x30]
xor r8d, r8d
mov r11d, 0xffffffff
mov r14, r9
movsxd rcx, dword [rsi + 0x3c]
mov r12d, dword [rcx + rsi + 0x88]
test r12, r12
je 0x140089470
mov ebx, dword [rsi + r12 + 0x18]
mov rdi, rbx
jmp 0x14008941f
mov rbx, rdi
cmp edx, 0xc5f6a8e5
je 0x1400894b2
sub rdi, 1
jb 0x140089470
test r15b, r15b
je 0x1400894b0
add rbx, r11
mov edx, dword [rsi + r12 + 0x20]
add rdx, rsi
mov ecx, ebx
mov ebp, dword [rdx + rcx*4]
add rbp, rsi
mov edx, 0x811c9dc5
nop word cs:[rax + rax]
test al, al
je 0x140089450
movsx ebx, byte [rbp]
test ebx, ebx
je 0x140089410
add rbp, 1
xor edx, ebx
imul edx, edx, 0x1000193
jmp 0x140089450
test r10b, r10b
je 0x1400894a0
nop word cs:[rax + rax]
nop
mov r14, qword [r14]
test r10b, r10b
je 0x1400894a0
cmp r14, r9
je 0x1400894cd
mov rsi, qword [r14 + 0x30]
test rsi, rsi
jne 0x1400893e8
jmp 0x1400894cd
mov r14, qword [r14]
jmp 0x140089480
jmp 0x1400894b0
mov eax, dword [rsi + r12 + 0x1c]
mov edx, dword [rsi + r12 + 0x24]
add rdx, rsi
movzx ecx, word [rdx + rcx*2]
add rax, rsi
mov r8d, dword [rax + rcx*4]
add r8, rsi
cmp dword [0x1406e7d28], 0xa
jl 0x14008950c
mov eax, dword [0x1406e7d2c]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x14008950c
movups xmm0, xmmword [0x14025931f]
movups xmm1, xmmword [0x140259313]
nop word cs:[rax + rax]
nop
movups xmmword [rsp + 0x2c], xmm0
movaps xmmword [rsp + 0x20], xmm1
jmp 0x140089500
movups xmm0, xmmword [0x140259313]
movaps xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x14025931f]
movups xmmword [rsp + 0x2c], xmm0
mov eax, dword [0x1406e87b0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e87b4], 0xa
setl r9b
or r9b, cl
mov byte [rsp + 0x20], 0x68
cmp r9b, 1
jne 0x1400895b0
mov ecx, 2
mov dl, 0xcd
nop word cs:[rax + rax]
movzx ebx, byte [rsp + rcx + 0x1f]
lea ebp, [rdx + 1]
and bpl, bl
not bl
lea edi, [rcx + 0x2f]
and dil, bl
or bpl, dil
mov byte [rsp + rcx + 0x1f], bpl
test r9b, r9b
je 0x1400895b0
cmp rcx, 0x1c
je 0x1400895b2
movzx ebx, byte [rsp + rcx + 0x20]
mov eax, ebx
not al
lea ebp, [rcx + 0x30]
and bpl, al
and bl, dl
or bl, bpl
mov byte [rsp + rcx + 0x20], bl
add rcx, 2
add dl, 0xfe
test r9b, r9b
jne 0x140089560
nop word [rax + rax]
jmp 0x1400895b0
lea rcx, [rsp + 0x20]
call r8
call qword [sym.imp.KERNEL32.dll_GetLastError]
cmp dword [0x1406e831c], 0xa
jl 0x1400895e2
mov ecx, dword [0x1406e8318]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400895e2
nop word [rax + rax]
jmp 0x1400895e0
cmp eax, 0x666
jne 0x1400895f8
add rsp, 0x40
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
cmp dword [0x1406e8494], 0xa
jl 0x140089622
mov eax, dword [0x1406e8490]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x140089622
nop word cs:[rax + rax]
nop dword [rax]
jmp 0x140089620
mov eax, dword [0x1406e7fb4]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406e7fb0], 0xa
setl r8b
or r8b, al
mov ecx, dword [0x1406e7fbc]
mov edi, dword [0x1406e7fb8]
jne 0x14008965b
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
jmp 0x140089685
lea ebx, [rcx - 1]
imul ebx, ecx
and ebx, 1
sete dl
cmp edi, 0xa
setl al
or al, dl
cmp al, 1
jne 0x1400896b4
mov rbp, qword gs:[0x60]
test al, al
je 0x1400896b4
test r8b, r8b
jne 0x1400896bf
mov rax, qword gs:[0x60]
cmp edi, 0xa
jl 0x14008965b
test ebx, ebx
je 0x14008965b
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1400896a0
mov rdx, qword gs:[0x60]
jmp 0x140089673
mov r8, qword [rbp + 0x18]
add r8, 0x10
mov eax, dword [0x1406e84a0]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406e84a4], 0xa
setl r11b
or r11b, al
mov eax, dword [0x1406e8488]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406e848c], 0xa
setl r15b
or r15b, al
mov eax, dword [0x1406e7f9c]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406e7f98], 0xa
setl al
or al, cl
mov ecx, dword [0x1406e7fa8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406e7fac], 0xa
setl r9b
or r9b, cl
mov r10d, 0xffffffff
mov r8, qword [r8]
mov rcx, qword [r8 + 0x30]
movsxd rdx, dword [rcx + 0x3c]
mov r14d, dword [rdx + rcx + 0x88]
test r14, r14
je 0x1400897fb
mov esi, dword [rcx + r14 + 0x18]
mov rdi, rsi
jmp 0x140089780
mov rsi, rdi
cmp ebp, 0xcded1a85
je 0x140089836
sub rdi, 1
jb 0x140089802
test r11b, r11b
je 0x140089820
add rsi, r10
mov edx, dword [rcx + r14 + 0x20]
add rdx, rcx
mov r12d, esi
mov edx, dword [rdx + r12*4]
add rdx, rcx
test r15b, r15b
jne 0x1400897b2
test al, al
jne 0x1400897de
jmp 0x140089830
mov ebp, 0x811c9dc5
mov rsi, rdx
nop word [rax + rax]
test al, al
je 0x1400897c0
movsx ebx, byte [rsi]
test ebx, ebx
je 0x1400897d9
add rsi, 1
xor ebp, ebx
imul ebp, ebp, 0x1000193
jmp 0x1400897c0
test r15b, r15b
jne 0x140089771
mov rsi, rdx
nop word cs:[rax + rax]
nop dword [rax + rax]
cmp byte [rsi], 0
lea rsi, [rsi + 1]
jne 0x1400897f0
jmp 0x1400897b2
test r15b, r15b
jne 0x140089807
jmp 0x140089832
test r15b, r15b
je 0x140089834
test r9b, r9b
jne 0x14008974b
jmp 0x140089810
jmp 0x140089820
jmp 0x140089830
jmp 0x140089832
jmp 0x140089834
mov eax, dword [rcx + r14 + 0x1c]
mov edx, dword [rcx + r14 + 0x24]
add rdx, rcx
movzx edx, word [rdx + r12*2]
add rax, rcx
mov eax, dword [rax + rdx*4]
add rax, rcx
xor ecx, ecx
call rax
int3