Function at 0x1401916d0
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 ecx, dword [0x1406d4cc0]
lea eax, [rcx - 1]
imul eax, ecx
and eax, 1
cmp byte [0x1406d3480], 0
mov ecx, dword [0x1406d4cc4]
je 0x140191712
cmp ecx, 0xa
jl 0x140191763
test eax, eax
je 0x140191763
nop word [rax + rax]
jmp 0x140191710
test eax, eax
sete al
cmp ecx, 0xa
setl cl
or cl, al
mov byte [rsp + 0x36], cl
mov eax, dword [0x1406cde9c]
mov qword [rsp + 0x60], rax
mov eax, dword [0x1406cde98]
mov dword [rsp + 0x44], eax
mov eax, dword [0x1406d40d0]
mov qword [rsp + 0x50], rax
mov eax, dword [0x1406d40d4]
mov dword [rsp + 0x30], eax
jne 0x140191b20
mov rax, qword [rsp + 0x60]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jmp 0x140191774
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
test ecx, ecx
sete al
cmp dword [rsp + 0x44], 0xa
setl cl
or cl, al
mov byte [rsp + 0x2f], cl
je 0x1401917e2
mov rax, qword [rsp + 0x50]
lea r14d, [rax - 1]
imul r14d, eax
and r14d, 1
cmp dword [rsp + 0x30], 0xa
jl 0x1401917a6
test r14d, r14d
jne 0x1401917e0
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 0x1401922ab
jmp 0x140192592
jmp 0x1401917e0
mov rax, qword [rsp + 0x50]
lea r14d, [rax - 1]
imul r14d, eax
and r14d, 1
cmp dword [rsp + 0x30], 0xa
jl 0x1401917ff
test r14d, r14d
jne 0x140191830
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 0x140191832
jmp 0x140191b12
jmp 0x140191830
mov rcx, qword gs:[0x60]
test al, al
je 0x140191b12
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x38], rax
cmp dword [0x1406d3da0], 0xa
jl 0x14019186e
mov eax, dword [0x1406d3da4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x140191b00
test r14d, r14d
setne cl
cmp dword [rsp + 0x30], 0xa
setge r9b
mov eax, dword [0x1406d3da8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x1406d3dac], 0xa
setl al
mov ebp, dword [0x1406d3db0]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
sete bl
cmp dword [0x1406d3db4], 0xa
setl r10b
cmp dword [0x1406d3db8], 0xa
jl 0x1401918d4
mov ebp, dword [0x1406d3dbc]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
jne 0x140191b10
and r9b, cl
or al, dl
or r10b, bl
mov r14, qword [rsp + 0x38]
mov r12, qword [r14 + 0x30]
movsxd rcx, dword [r12 + 0x3c]
mov r15d, dword [rcx + r12 + 0x88]
test r15, r15
je 0x140191aa0
test r9b, r9b
jne 0x140191af0
mov ecx, dword [r12 + r15 + 0x18]
mov r11, rcx
jmp 0x140191924
mov edx, 0x811c9dc5
mov rcx, r11
cmp edx, 0x860861c0
je 0x140191789
sub r11, 1
jb 0x140191aa0
add ecx, 0xffffffff
mov edx, dword [r12 + r15 + 0x20]
add rdx, r12
mov r13d, dword [rdx + rcx*4]
mov bl, byte [r12 + r13]
test bl, bl
je 0x140191910
add r13, r12
mov edx, 0x811c9dc5
jmp 0x140191a5b
mov esi, edx
and esi, 0x7ab683ed
or esi, 0x1410812
mov edi, edx
and edi, 0x85497c12
xor edi, esi
mov esi, edi
xor esi, 0x50af90c3
xor edi, 0xfebef7ed
and edi, esi
mov r8d, edx
and r8d, 0xae11672e
mov esi, ecx
and esi, 0xae11672e
mov ebx, edi
not ebx
mov ebp, r8d
not ebp
and ebx, ebp
and ebp, 0x6400fcd7
xor edx, 0x24006406
and edx, r8d
or edx, ebp
xor edx, edi
xor edx, 0x6400fcd7
xor r8d, edi
or r8d, ebx
not r8d
or r8d, edx
mov edi, ecx
xor edi, 0xac106400
and edi, esi
mov edx, ecx
and edx, 0x12c8050
mov ebx, ecx
and ebx, 0x50c21881
lea ebp, [rbx + 0x9148106]
xor ebp, edx
xor ebx, 0xfdd6fc81
mov edx, ecx
and edx, 0xac106400
or edx, 0x52831b03
xor edx, edi
mov edi, edx
xor edi, 0x53af9b53
xor ebp, 0xa390278
and ebp, edi
or edx, 0x400080
and edx, ebx
or edx, ebp
mov edi, ecx
and edi, 0x51ee98d1
or edi, 0x2e016708
xor edi, esi
xor edi, 0x7fefffd9
xor ecx, 0xae11672e
or ecx, edi
mov esi, ecx
xor esi, edx
not esi
not ecx
and ecx, edx
or ecx, esi
xor ecx, r8d
imul edx, ecx, 0x1000193
mov bl, byte [r13]
test bl, bl
je 0x140191915
add r13, 1
movsx ecx, bl
add bl, 0xbf
cmp bl, 0x19
ja 0x140191960
nop
test al, al
je 0x140191a70
mov esi, ecx
and esi, 0xebcba6fa
and ecx, 0x14345925
or ecx, 0xab402048
xor ecx, esi
xor ecx, 0xab402068
jmp 0x140191960
test r10b, r10b
je 0x140191ae0
nop word cs:[rax + rax]
nop
mov r14, qword [r14]
test r10b, r10b
je 0x140191ae0
cmp r14, qword [rsp + 0x38]
je 0x140191789
mov r12, qword [r14 + 0x30]
test r12, r12
jne 0x1401918e5
jmp 0x140191789
mov r14, qword [r14]
jmp 0x140191ab0
jmp 0x140191af0
jmp 0x140191b00
jmp 0x140191b10
mov rcx, qword gs:[0x60]
jmp 0x140191832
mov rax, qword [rsp + 0x60]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
mov dword [rsp + 0x5c], ecx
sete al
cmp dword [rsp + 0x44], 0xa
setl cl
or cl, al
mov byte [rsp + 0x37], cl
je 0x140191b92
mov rax, qword [rsp + 0x50]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp dword [rsp + 0x30], 0xa
jl 0x140191b5e
test esi, esi
jne 0x140191b90
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 0x140191ed0
jmp 0x1401921d2
jmp 0x140191b90
mov rax, qword [rsp + 0x50]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
cmp dword [rsp + 0x30], 0xa
jl 0x140191bab
test edx, edx
jne 0x140191be0
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 0x140191be2
jmp 0x140191ec2
jmp 0x140191be0
mov rcx, qword gs:[0x60]
test al, al
je 0x140191ec2
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x38], rax
cmp dword [0x1406d3da0], 0xa
jl 0x140191c1e
mov eax, dword [0x1406d3da4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x140191eb0
test edx, edx
setne cl
cmp dword [rsp + 0x30], 0xa
setge r9b
mov eax, dword [0x1406d3da8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete dl
cmp dword [0x1406d3dac], 0xa
setl al
mov ebp, dword [0x1406d3db0]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
sete bl
cmp dword [0x1406d3db4], 0xa
setl r10b
cmp dword [0x1406d3db8], 0xa
jl 0x140191c83
mov ebp, dword [0x1406d3dbc]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
jne 0x140191ec0
and r9b, cl
or al, dl
or r10b, bl
mov r11, qword [rsp + 0x38]
mov r15, qword [r11 + 0x30]
movsxd rcx, dword [r15 + 0x3c]
mov r14d, dword [rcx + r15 + 0x88]
test r14, r14
je 0x140191e50
test r9b, r9b
jne 0x140191ea0
mov ecx, dword [r15 + r14 + 0x18]
mov r12, rcx
jmp 0x140191cd4
mov edx, 0x811c9dc5
mov rcx, r12
cmp edx, 0x860861c0
je 0x140191b45
sub r12, 1
jb 0x140191e50
add ecx, 0xffffffff
mov edx, dword [r15 + r14 + 0x20]
add rdx, r15
mov r13d, dword [rdx + rcx*4]
mov bl, byte [r15 + r13]
test bl, bl
je 0x140191cc0
add r13, r15
mov edx, 0x811c9dc5
jmp 0x140191e0b
mov esi, edx
and esi, 0x7ab683ed
or esi, 0x1410812
mov edi, edx
and edi, 0x85497c12
xor edi, esi
mov esi, edi
xor esi, 0x50af90c3
xor edi, 0xfebef7ed
and edi, esi
mov r8d, edx
and r8d, 0xae11672e
mov esi, ecx
and esi, 0xae11672e
mov ebx, edi
not ebx
mov ebp, r8d
not ebp
and ebx, ebp
and ebp, 0x6400fcd7
xor edx, 0x24006406
and edx, r8d
or edx, ebp
xor edx, edi
xor edx, 0x6400fcd7
xor r8d, edi
or r8d, ebx
not r8d
or r8d, edx
mov edi, ecx
xor edi, 0xac106400
and edi, esi
mov edx, ecx
and edx, 0x12c8050
mov ebx, ecx
and ebx, 0x50c21881
lea ebp, [rbx + 0x9148106]
xor ebp, edx
xor ebx, 0xfdd6fc81
mov edx, ecx
and edx, 0xac106400
or edx, 0x52831b03
xor edx, edi
mov edi, edx
xor edi, 0x53af9b53
xor ebp, 0xa390278
and ebp, edi
or edx, 0x400080
and edx, ebx
or edx, ebp
mov edi, ecx
and edi, 0x51ee98d1
or edi, 0x2e016708
xor edi, esi
xor edi, 0x7fefffd9
xor ecx, 0xae11672e
or ecx, edi
mov esi, ecx
xor esi, edx
not esi
not ecx
and ecx, edx
or ecx, esi
xor ecx, r8d
imul edx, ecx, 0x1000193
mov bl, byte [r13]
test bl, bl
je 0x140191cc5
add r13, 1
movsx ecx, bl
add bl, 0xbf
cmp bl, 0x19
ja 0x140191d10
nop
test al, al
je 0x140191e20
mov esi, ecx
and esi, 0xebcba6fa
and ecx, 0x14345925
or ecx, 0xab402048
xor ecx, esi
xor ecx, 0xab402068
jmp 0x140191d10
test r10b, r10b
je 0x140191e90
nop word cs:[rax + rax]
nop
mov r11, qword [r11]
test r10b, r10b
je 0x140191e90
cmp r11, qword [rsp + 0x38]
je 0x140191b45
mov r15, qword [r11 + 0x30]
test r15, r15
jne 0x140191c94
jmp 0x140191b45
mov r11, qword [r11]
jmp 0x140191e60
jmp 0x140191ea0
jmp 0x140191eb0
jmp 0x140191ec0
mov rcx, qword gs:[0x60]
jmp 0x140191be2
mov rcx, qword gs:[0x60]
test al, al
je 0x1401921d2
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x48], rax
cmp dword [0x1406d3da0], 0xa
jl 0x140191f0c
mov eax, dword [0x1406d3da4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1401921c0
test esi, esi
setne r8b
cmp dword [rsp + 0x30], 0xa
setge byte [rsp + 0x2e]
mov eax, dword [0x1406d3da8]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406d3dac], 0xa
setl cl
mov edx, dword [0x1406d3db0]
lea ebp, [rdx - 1]
imul ebp, edx
test bpl, 1
sete bl
cmp dword [0x1406d3db4], 0xa
setl dl
cmp dword [0x1406d3db8], 0xa
jl 0x140191f73
mov ebp, dword [0x1406d3dbc]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
jne 0x1401921d0
mov dword [rsp + 0x40], esi
and byte [rsp + 0x2e], r8b
or cl, al
or dl, bl
mov rax, qword [rsp + 0x48]
mov rdi, qword [rax + 0x30]
mov byte [rsp + 0x2f], dl
mov qword [rsp + 0x38], rax
movsxd rax, dword [rdi + 0x3c]
mov r8d, dword [rax + rdi + 0x88]
test r8, r8
je 0x140192160
cmp byte [rsp + 0x2e], 0
jne 0x1401921b0
mov eax, dword [rdi + r8 + 0x18]
mov r10, rax
jmp 0x140191fd6
mov r15d, 0x811c9dc5
mov rax, r10
cmp r15d, 0x860861c0
je 0x1401921e0
sub r10, 1
jb 0x140192160
mov r9d, eax
add r9d, 0xffffffff
mov eax, dword [rdi + r8 + 0x20]
add rax, rdi
mov r11d, dword [rax + r9*4]
mov al, byte [rdi + r11]
test al, al
je 0x140191fc0
add r11, rdi
mov r15d, 0x811c9dc5
jmp 0x140192117
mov eax, r15d
and eax, 0x7ab683ed
or eax, 0x1410812
mov ebp, r15d
and ebp, 0x85497c12
xor ebp, eax
mov eax, ebp
xor eax, 0x50af90c3
xor ebp, 0xfebef7ed
and ebp, eax
mov edx, r15d
and edx, 0xae11672e
mov r13d, r14d
and r13d, 0xae11672e
mov eax, ebp
not eax
mov r12d, edx
not r12d
and eax, r12d
and r12d, 0x6400fcd7
xor r15d, 0x24006406
and r15d, edx
or r15d, r12d
xor r15d, ebp
xor r15d, 0x6400fcd7
xor edx, ebp
or edx, eax
not edx
or edx, r15d
mov eax, r14d
xor eax, 0xac106400
and eax, r13d
mov ebp, r14d
and ebp, 0x12c8050
mov esi, r14d
and esi, 0x50c21881
lea ebx, [rsi + 0x9148106]
xor ebx, ebp
xor esi, 0xfdd6fc81
mov ebp, r14d
and ebp, 0xac106400
or ebp, 0x52831b03
xor ebp, eax
mov eax, ebp
xor eax, 0x53af9b53
xor ebx, 0xa390278
and ebx, eax
or ebp, 0x400080
and ebp, esi
or ebp, ebx
mov eax, r14d
and eax, 0x51ee98d1
or eax, 0x2e016708
xor eax, r13d
xor eax, 0x7fefffd9
xor r14d, 0xae11672e
or r14d, eax
mov eax, r14d
xor eax, ebp
not eax
not r14d
and r14d, ebp
or r14d, eax
xor r14d, edx
imul r15d, r14d, 0x1000193
mov al, byte [r11]
test al, al
je 0x140191fc6
add r11, 1
movsx r14d, al
add al, 0xbf
cmp al, 0x19
ja 0x140192010
nop dword [rax]
test cl, cl
je 0x140192130
mov eax, r14d
and eax, 0xebcba6fa
and r14d, 0x14345925
or r14d, 0xab402048
xor r14d, eax
xor r14d, 0xab402068
jmp 0x140192010
mov dl, byte [rsp + 0x2f]
test dl, dl
mov rax, qword [rsp + 0x38]
je 0x1401921a0
nop dword [rax]
mov rax, qword [rax]
test dl, dl
je 0x1401921a0
cmp rax, qword [rsp + 0x48]
je 0x140192295
mov rdi, qword [rax + 0x30]
test rdi, rdi
jne 0x140191f8d
jmp 0x140192295
mov rax, qword [rax]
jmp 0x140192170
jmp 0x1401921b0
jmp 0x1401921c0
jmp 0x1401921d0
mov rcx, qword gs:[0x60]
jmp 0x140191ed0
mov eax, dword [rdi + r8 + 0x1c]
mov ecx, dword [rdi + r8 + 0x24]
add rax, rdi
add rcx, rdi
movzx ecx, word [rcx + r9*2]
mov eax, dword [rax + rcx*4]
add rax, rdi
mov edx, dword [rsp + 0x40]
cmp byte [rsp + 0x37], 0
je 0x140191ba0
cmp byte [rsp + 0x36], 0
mov ecx, dword [rsp + 0x5c]
je 0x140191774
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
mov rcx, rax
xor edx, edx
mov rdi, rsi
call rsi
mov edx, dword [0x1406d4cc0]
mov ecx, dword [0x1406d4cc4]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1401916fe
test eax, eax
je 0x1401916fe
mov rsi, qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
call rsi
mov rcx, rax
xor edx, edx
mov rbx, rdi
call rdi
call rsi
mov rcx, rax
xor edx, edx
call rdi
mov edx, dword [0x1406d4cc0]
mov ecx, dword [0x1406d4cc4]
lea eax, [rdx - 1]
imul eax, edx
and eax, 1
cmp ecx, 0xa
jl 0x1401916fe
test eax, eax
jne 0x140192259
jmp 0x1401916fe
mov edx, dword [rsp + 0x40]
xor eax, eax
cmp byte [rsp + 0x37], 0
je 0x140191ba0
jmp 0x14019220a
mov rcx, qword gs:[0x60]
test al, al
je 0x140192592
mov rax, qword [rcx + 0x18]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x38], rax
cmp dword [0x1406d3da0], 0xa
jl 0x1401922e7
mov eax, dword [0x1406d3da4]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x140192580
test r14d, r14d
setne r8b
cmp dword [rsp + 0x30], 0xa
setge cl
mov eax, dword [0x1406d3da8]
lea edx, [rax - 1]
imul edx, eax
test dl, 1
sete r9b
cmp dword [0x1406d3dac], 0xa
setl al
mov ebp, dword [0x1406d3db0]
lea ebx, [rbp - 1]
imul ebx, ebp
test bl, 1
sete bl
cmp dword [0x1406d3db4], 0xa
setl dl
cmp dword [0x1406d3db8], 0xa
jl 0x14019234d
mov ebp, dword [0x1406d3dbc]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
jne 0x140192590
and cl, r8b
mov byte [rsp + 0x2e], cl
or al, r9b
or dl, bl
mov byte [rsp + 0x48], dl
mov r15, qword [rsp + 0x38]
mov r13, qword [r15 + 0x30]
movsxd rcx, dword [r13 + 0x3c]
mov r12d, dword [rcx + r13 + 0x88]
test r12, r12
je 0x140192530
cmp byte [rsp + 0x2e], 0
jne 0x140192570
mov ecx, dword [r13 + r12 + 0x18]
mov r8, rcx
jmp 0x1401923a4
mov edx, 0x811c9dc5
mov rcx, r8
cmp edx, 0x860861c0
je 0x1401925a0
sub r8, 1
jb 0x140192530
add ecx, 0xffffffff
mov edx, dword [r13 + r12 + 0x20]
add rdx, r13
mov r10d, dword [rdx + rcx*4]
mov bl, byte [r13 + r10]
test bl, bl
je 0x140192390
add r10, r13
mov edx, 0x811c9dc5
jmp 0x1401924e2
mov edi, edx
and edi, 0x7ab683ed
or edi, 0x1410812
mov r11d, edx
and r11d, 0x85497c12
xor r11d, edi
mov edi, r11d
xor edi, 0x50af90c3
xor r11d, 0xfebef7ed
and r11d, edi
mov r9d, edx
and r9d, 0xae11672e
mov ebp, esi
and ebp, 0xae11672e
mov ebx, r11d
not ebx
mov edi, r9d
not edi
and ebx, edi
and edi, 0x6400fcd7
xor edx, 0x24006406
and edx, r9d
or edx, edi
xor edx, r11d
xor edx, 0x6400fcd7
xor r9d, r11d
or r9d, ebx
not r9d
or r9d, edx
mov ebx, esi
xor ebx, 0xac106400
and ebx, ebp
mov edx, esi
and edx, 0x12c8050
mov edi, esi
and edi, 0x50c21881
lea ecx, [rdi + 0x9148106]
xor ecx, edx
xor edi, 0xfdd6fc81
mov edx, esi
and edx, 0xac106400
or edx, 0x52831b03
xor edx, ebx
mov ebx, edx
xor ebx, 0x53af9b53
xor ecx, 0xa390278
and ecx, ebx
or edx, 0x400080
and edx, edi
or edx, ecx
mov ecx, esi
and ecx, 0x51ee98d1
or ecx, 0x2e016708
xor ecx, ebp
xor ecx, 0x7fefffd9
xor esi, 0xae11672e
or esi, ecx
mov ecx, esi
xor ecx, edx
not ecx
not esi
and esi, edx
or esi, ecx
xor esi, r9d
imul edx, esi, 0x1000193
mov bl, byte [r10]
test bl, bl
je 0x140192395
add r10, 1
movsx esi, bl
add bl, 0xbf
cmp bl, 0x19
ja 0x1401923e0
nop word cs:[rax + rax]
nop
test al, al
je 0x140192500
mov ebp, esi
and ebp, 0xebcba6fa
and esi, 0x14345925
or esi, 0xab402048
xor esi, ebp
xor esi, 0xab402068
jmp 0x1401923e0
mov cl, byte [rsp + 0x48]
test cl, cl
je 0x140192560
nop dword [rax + rax]
mov r15, qword [r15]
test cl, cl
je 0x140192560
cmp r15, qword [rsp + 0x38]
je 0x1401925a0
mov r13, qword [r15 + 0x30]
test r13, r13
jne 0x140192366
jmp 0x1401925a0
mov r15, qword [r15]
jmp 0x140192540
jmp 0x140192570
jmp 0x140192580
jmp 0x140192590
mov rcx, qword gs:[0x60]
jmp 0x1401922ab
cmp byte [rsp + 0x2f], 0
je 0x1401917f3
jmp 0x140191b20