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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov eax, dword [0x1406ce3e8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406ce3ec], 0xa
setl cl
or cl, al
mov byte [rsp + 0x46], cl
mov eax, dword [0x1406d3d90]
mov qword [rsp + 0x60], rax
mov eax, dword [0x1406d3d94]
mov dword [rsp + 0x48], eax
je 0x1400d7d22
mov rax, qword [rsp + 0x60]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp dword [rsp + 0x48], 0xa
mov dword [rsp + 0x4c], edx
jl 0x1400d7ce6
test edx, edx
jne 0x1400d7d20
mov eax, dword [0x1406d3d98]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406d3d9c], 0xa
setl al
or al, cl
cmp al, 1
je 0x1400d80c0
jmp 0x1400d8422
jmp 0x1400d7d20
mov rax, qword [rsp + 0x60]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp dword [rsp + 0x48], 0xa
jl 0x1400d7d3b
test edx, edx
jne 0x1400d7d70
mov eax, dword [0x1406d3d98]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete cl
cmp dword [0x1406d3d9c], 0xa
setl al
or al, cl
cmp al, 1
je 0x1400d7d72
jmp 0x1400d80b2
jmp 0x1400d7d70
mov rcx, qword gs:[0x60]
test al, al
je 0x1400d80b2
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x58], rax
cmp dword [0x1406d3da0], 0xa
jl 0x1400d7dae
mov eax, dword [0x1406d3da4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400d80a0
test edx, edx
sete r8b
setne r10b
cmp dword [rsp + 0x48], 0xa
setl al
setge r11b
mov ecx, dword [0x1406d3da8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete cl
cmp dword [0x1406d3dac], 0xa
setl r9b
mov ebp, dword [0x1406d3db0]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
sete bpl
cmp dword [0x1406d3db4], 0xa
setl bl
cmp dword [0x1406d3db8], 0xa
jl 0x1400d7e1c
mov esi, dword [0x1406d3dbc]
lea edi, [rsi - 1]
imul edi, esi
and edi, 1
jne 0x1400d80b0
and r11b, r10b
mov byte [rsp + 0x44], r11b
or r9b, cl
mov ecx, eax
and cl, r8b
xor cl, 1
xor al, r8b
mov edx, eax
xor dl, cl
not al
or al, cl
and al, dl
mov byte [rsp + 0x50], al
or bl, bpl
mov byte [rsp + 0x45], bl
mov r10, qword [rsp + 0x58]
mov r12, qword [r10 + 0x30]
movsxd rax, dword [r12 + 0x3c]
mov r15d, dword [rax + r12 + 0x88]
test r15, r15
je 0x1400d8010
cmp byte [rsp + 0x44], 0
jne 0x1400d8090
mov eax, dword [r12 + r15 + 0x18]
mov r13, rax
jmp 0x1400d7e94
mov esi, 0x811c9dc5
mov rax, r13
cmp esi, 0xe95da064
je 0x1400d7cc9
sub r13, 1
jb 0x1400d8010
add eax, 0xffffffff
mov ecx, dword [r12 + r15 + 0x20]
add rcx, r12
mov r8d, dword [rcx + rax*4]
mov cl, byte [r12 + r8]
test cl, cl
je 0x1400d7e80
add r8, r12
mov esi, 0x811c9dc5
jmp 0x1400d7fc8
mov edi, esi
and edi, 0x7ab683ed
or edi, 0x1410812
mov ecx, esi
and ecx, 0x85497c12
xor ecx, edi
mov edi, ecx
xor edi, 0x50af90c3
xor ecx, 0xfebef7ed
and ecx, edi
mov r14d, esi
and r14d, 0xae11672e
mov ebp, ebx
and ebp, 0xae11672e
mov r11d, ecx
not r11d
mov edi, r14d
not edi
and r11d, edi
and edi, 0x6400fcd7
xor esi, 0x24006406
and esi, r14d
or esi, edi
xor esi, ecx
xor esi, 0x6400fcd7
xor r14d, ecx
or r14d, r11d
not r14d
or r14d, esi
mov ecx, ebx
xor ecx, 0xac106400
and ecx, ebp
mov edi, ebx
and edi, 0x12c8050
mov eax, ebx
and eax, 0x50c21881
lea edx, [rax + 0x9148106]
xor edx, edi
xor eax, 0xfdd6fc81
mov esi, ebx
and esi, 0xac106400
or esi, 0x52831b03
xor esi, ecx
mov ecx, esi
xor ecx, 0x53af9b53
xor edx, 0xa390278
and edx, ecx
or esi, 0x400080
and esi, eax
or esi, edx
mov eax, ebx
and eax, 0x51ee98d1
or eax, 0x2e016708
xor eax, ebp
xor eax, 0x7fefffd9
xor ebx, 0xae11672e
or ebx, eax
mov eax, ebx
xor eax, esi
not eax
not ebx
and ebx, esi
or ebx, eax
xor ebx, r14d
imul esi, ebx, 0x1000193
mov cl, byte [r8]
test cl, cl
je 0x1400d7e85
add r8, 1
movsx ebx, cl
add cl, 0xbf
cmp cl, 0x19
ja 0x1400d7ed0
nop dword [rax + rax]
test r9b, r9b
je 0x1400d7fe0
mov ecx, ebx
and ecx, 0xebcba6fa
and ebx, 0x14345925
or ebx, 0xab402048
xor ebx, ecx
xor ebx, 0xab402068
jmp 0x1400d7ed0
cmp byte [rsp + 0x50], 0
mov al, byte [rsp + 0x45]
je 0x1400d8030
test al, al
jne 0x1400d8080
jmp 0x1400d8087
test al, al
je 0x1400d8070
nop word cs:[rax + rax]
nop
mov r10, qword [r10]
test al, al
je 0x1400d8070
cmp r10, qword [rsp + 0x58]
je 0x1400d7cc9
mov r12, qword [r10 + 0x30]
test r12, r12
jne 0x1400d7e50
jmp 0x1400d7cc9
mov r10, qword [r10]
jmp 0x1400d8040
mov r10, qword [r10]
test al, al
jne 0x1400d8030
mov r10, qword [r10]
jmp 0x1400d8080
jmp 0x1400d8090
jmp 0x1400d80a0
jmp 0x1400d80b0
mov rcx, qword gs:[0x60]
jmp 0x1400d7d72
mov rcx, qword gs:[0x60]
test al, al
je 0x1400d8422
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x50], rax
cmp dword [0x1406d3da0], 0xa
jl 0x1400d80fc
mov eax, dword [0x1406d3da4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400d8410
test edx, edx
sete r9b
setne r8b
cmp dword [rsp + 0x48], 0xa
setl al
setge r11b
mov ecx, dword [0x1406d3da8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete dl
cmp dword [0x1406d3dac], 0xa
setl bl
mov ecx, dword [0x1406d3db0]
lea ebp, [rcx - 1]
imul ebp, ecx
test bpl, 1
sete r10b
cmp dword [0x1406d3db4], 0xa
setl cl
cmp dword [0x1406d3db8], 0xa
jl 0x1400d816a
mov ebp, dword [0x1406d3dbc]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
jne 0x1400d8420
and r11b, r8b
mov byte [rsp + 0x47], r11b
or bl, dl
mov edx, eax
and dl, r9b
xor dl, 1
xor al, r9b
mov r8d, eax
xor r8b, dl
not al
or al, dl
and al, r8b
or cl, r10b
mov rdx, qword [rsp + 0x50]
mov r12, qword [rdx + 0x30]
mov byte [rsp + 0x45], al
mov byte [rsp + 0x44], cl
mov qword [rsp + 0x58], rdx
movsxd rax, dword [r12 + 0x3c]
mov r15d, dword [rax + r12 + 0x88]
test r15, r15
je 0x1400d8380
cmp byte [rsp + 0x47], 0
jne 0x1400d8400
mov ecx, dword [r12 + r15 + 0x18]
mov rdx, rcx
jmp 0x1400d81e6
mov r10d, 0x811c9dc5
mov rcx, rdx
cmp r10d, 0xe95da064
je 0x1400d8430
sub rdx, 1
jb 0x1400d8380
mov eax, ecx
add eax, 0xffffffff
mov ecx, dword [r12 + r15 + 0x20]
add rcx, r12
mov r8d, dword [rcx + rax*4]
mov cl, byte [r12 + r8]
test cl, cl
je 0x1400d81d0
add r8, r12
mov r10d, 0x811c9dc5
jmp 0x1400d8333
mov edi, r10d
and edi, 0x7ab683ed
or edi, 0x1410812
mov ecx, r10d
and ecx, 0x85497c12
xor ecx, edi
mov edi, ecx
xor edi, 0x50af90c3
xor ecx, 0xfebef7ed
and ecx, edi
mov r13d, r10d
and r13d, 0xae11672e
mov r14d, r9d
and r14d, 0xae11672e
mov edi, ecx
not edi
mov r11d, r13d
not r11d
and edi, r11d
and r11d, 0x6400fcd7
xor r10d, 0x24006406
and r10d, r13d
or r10d, r11d
xor r10d, ecx
xor r10d, 0x6400fcd7
xor r13d, ecx
or r13d, edi
not r13d
or r13d, r10d
mov edi, r9d
xor edi, 0xac106400
and edi, r14d
mov ecx, r9d
and ecx, 0x12c8050
mov esi, r9d
and esi, 0x50c21881
lea ebp, [rsi + 0x9148106]
xor ebp, ecx
xor esi, 0xfdd6fc81
mov ecx, r9d
and ecx, 0xac106400
or ecx, 0x52831b03
xor ecx, edi
mov edi, ecx
xor edi, 0x53af9b53
xor ebp, 0xa390278
and ebp, edi
or ecx, 0x400080
and ecx, esi
or ecx, ebp
mov ebp, r9d
and ebp, 0x51ee98d1
or ebp, 0x2e016708
xor ebp, r14d
xor ebp, 0x7fefffd9
xor r9d, 0xae11672e
or r9d, ebp
mov ebp, r9d
xor ebp, ecx
not ebp
not r9d
and r9d, ecx
or r9d, ebp
xor r9d, r13d
imul r10d, r9d, 0x1000193
mov cl, byte [r8]
test cl, cl
je 0x1400d81d6
add r8, 1
movsx r9d, cl
add cl, 0xbf
cmp cl, 0x19
ja 0x1400d8220
nop word [rax + rax]
test bl, bl
je 0x1400d8350
mov ecx, r9d
and ecx, 0xebcba6fa
and r9d, 0x14345925
or r9d, 0xab402048
xor r9d, ecx
xor r9d, 0xab402068
jmp 0x1400d8220
mov al, byte [rsp + 0x45]
test al, al
mov cl, byte [rsp + 0x44]
mov rdx, qword [rsp + 0x58]
je 0x1400d83a0
test cl, cl
jne 0x1400d83f0
jmp 0x1400d83f7
test cl, cl
je 0x1400d83e0
nop word cs:[rax + rax]
nop
mov rdx, qword [rdx]
test cl, cl
je 0x1400d83e0
cmp rdx, qword [rsp + 0x50]
je 0x1400d8475
mov r12, qword [rdx + 0x30]
test r12, r12
jne 0x1400d81a0
jmp 0x1400d8475
mov rdx, qword [rdx]
jmp 0x1400d83b0
mov rdx, qword [rdx]
test cl, cl
jne 0x1400d83a0
mov rdx, qword [rdx]
jmp 0x1400d83f0
jmp 0x1400d8400
jmp 0x1400d8410
jmp 0x1400d8420
mov rcx, qword gs:[0x60]
jmp 0x1400d80c0
mov ecx, dword [r12 + r15 + 0x1c]
mov edx, dword [r12 + r15 + 0x24]
add rcx, r12
add rdx, r12
movzx eax, word [rdx + rax*2]
mov esi, dword [rcx + rax*4]
add rsi, r12
mov edx, dword [rsp + 0x4c]
cmp byte [rsp + 0x46], 0
je 0x1400d7d30
cmp dword [0x1406ce3e4], 0xa
jl 0x1400d8488
mov eax, dword [0x1406ce3e0]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1400d84d9
jmp 0x1400d8488
mov edx, dword [rsp + 0x4c]
xor esi, esi
cmp byte [rsp + 0x46], 0
je 0x1400d7d30
jmp 0x1400d8459
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
lea rcx, str..NoScreenSRD
mov edx, 0xc0000000
mov r8d, 3
xor r9d, r9d
call rsi
mov qword [0x1404e5420], rax
cmp dword [0x1406ce3e4], 0xa
jl 0x1400d8515
mov ecx, dword [0x1406ce3e0]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
je 0x1400d8515
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
lea rcx, str..NoScreenSRD
mov edx, 0xc0000000
mov r8d, 3
xor r9d, r9d
call rsi
mov qword [0x1404e5420], rax
jmp 0x1400d8488
cmp rax, 0xffffffffffffffff
setne al
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret