Function at 0x1401d33f0
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, 0x58
mov qword [rsp + 0x50], rcx
mov ebp, dword [0x1406d5030]
mov ecx, dword [0x1406d5034]
lea eax, [rbp - 1]
imul eax, ebp
and eax, 1
cmp ecx, 0xa
jl 0x1401d3423
test eax, eax
jne 0x1401d3430
cmp ecx, 0xa
jl 0x1401d3432
test eax, eax
je 0x1401d3432
nop dword [rax]
jmp 0x1401d3430
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x2c], 0
mov eax, dword [0x1406d5038]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
sete al
cmp dword [0x1406d503c], 0xa
setl cl
or cl, al
mov byte [rsp + 0x25], cl
mov eax, dword [0x1406d5040]
mov qword [rsp + 0x48], rax
mov eax, dword [0x1406d5044]
mov dword [rsp + 0x20], eax
jne 0x1401d348b
mov rax, qword [rsp + 0x48]
lea edi, [rax - 1]
imul edi, eax
and edi, 1
jmp 0x1401d3894
mov rax, qword [rsp + 0x48]
lea esi, [rax - 1]
imul esi, eax
and esi, 1
cmp dword [rsp + 0x20], 0xa
jl 0x1401d34a4
test esi, esi
jne 0x1401d3520
test esi, esi
sete cl
cmp dword [rsp + 0x20], 0xa
setge al
xor al, cl
mov edx, dword [0x1406d3d98]
lea ebx, [rdx - 1]
imul ebx, edx
mov edx, dword [0x1406d3d9c]
test esi, esi
je 0x1401d3503
cmp dword [rsp + 0x20], 0xa
jl 0x1401d3503
test al, al
je 0x1401d3503
mov rbp, qword gs:[0x60]
cmp edx, 0xa
jl 0x1401d34e9
mov ecx, ebx
and ecx, 1
jne 0x1401d3532
cmp dword [0x1406d3da0], 0xa
jl 0x1401d3503
mov ecx, dword [0x1406d3da4]
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
jne 0x1401d3530
test bl, 1
sete bl
cmp edx, 0xa
setl cl
or cl, bl
cmp cl, 1
je 0x1401d3554
jmp 0x1401d3852
jmp 0x1401d3520
jmp 0x1401d3530
mov rax, qword gs:[0x60]
nop dword [rax + rax]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1401d3540
mov rdx, qword gs:[0x60]
test cl, cl
je 0x1401d3852
mov rcx, qword [rdx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x30], rcx
cmp dword [0x1406d3da0], 0xa
jl 0x1401d3590
mov ecx, dword [0x1406d3da4]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1401d3840
cmp dword [rsp + 0x20], 0xa
setge r9b
test esi, esi
setne r8b
mov ecx, dword [0x1406d3da8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r10b
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 0x1401d35f7
mov ebp, dword [0x1406d3dbc]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
jne 0x1401d3850
mov dword [rsp + 0x28], esi
or cl, r10b
or r9b, r8b
and r9b, al
mov byte [rsp + 0x26], r9b
or dl, bl
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x30]
mov byte [rsp + 0x27], dl
mov qword [rsp + 0x38], rax
movsxd rax, dword [rbx + 0x3c]
mov r13d, dword [rax + rbx + 0x88]
test r13, r13
je 0x1401d37f0
mov edx, dword [rbx + r13 + 0x18]
mov r14, rdx
jmp 0x1401d3656
mov r9d, 0x811c9dc5
mov rdx, r14
cmp r9d, 0x1ca03e79
je 0x1401d3860
sub r14, 1
jb 0x1401d37f0
mov ebp, edx
add ebp, 0xffffffff
mov edx, dword [rbx + r13 + 0x20]
add rdx, rbx
mov r15d, dword [rdx + rbp*4]
mov dl, byte [rbx + r15]
test dl, dl
je 0x1401d3640
add r15, rbx
mov r9d, 0x811c9dc5
jmp 0x1401d379f
mov edx, r9d
and edx, 0x7ab683ed
or edx, 0x1410812
mov esi, r9d
and esi, 0x85497c12
xor esi, edx
mov edx, esi
xor edx, 0x50af90c3
xor esi, 0xfebef7ed
and esi, edx
mov r12d, r9d
and r12d, 0xae11672e
mov r11d, r8d
and r11d, 0xae11672e
mov edx, esi
not edx
mov r10d, r12d
not r10d
and edx, r10d
and r10d, 0x6400fcd7
xor r9d, 0x24006406
and r9d, r12d
or r9d, r10d
xor r9d, esi
xor r9d, 0x6400fcd7
xor r12d, esi
or r12d, edx
not r12d
or r12d, r9d
mov edx, r8d
xor edx, 0xac106400
and edx, r11d
mov esi, r8d
and esi, 0x12c8050
mov edi, r8d
and edi, 0x50c21881
lea eax, [rdi + 0x9148106]
xor eax, esi
xor edi, 0xfdd6fc81
mov esi, r8d
and esi, 0xac106400
or esi, 0x52831b03
xor esi, edx
mov edx, esi
xor edx, 0x53af9b53
xor eax, 0xa390278
and eax, edx
or esi, 0x400080
and esi, edi
or esi, eax
mov eax, r8d
and eax, 0x51ee98d1
or eax, 0x2e016708
xor eax, r11d
xor eax, 0x7fefffd9
xor r8d, 0xae11672e
or r8d, eax
mov eax, r8d
xor eax, esi
not eax
not r8d
and r8d, esi
or r8d, eax
xor r8d, r12d
imul r9d, r8d, 0x1000193
mov dl, byte [r15]
test dl, dl
je 0x1401d3646
add r15, 1
movsx r8d, dl
add dl, 0xbf
cmp dl, 0x19
ja 0x1401d3690
nop word cs:[rax + rax]
nop dword [rax]
test cl, cl
je 0x1401d37c0
mov edx, r8d
and edx, 0xebcba6fa
and r8d, 0x14345925
or r8d, 0xab402048
xor r8d, edx
xor r8d, 0xab402068
jmp 0x1401d3690
mov dl, byte [rsp + 0x27]
test dl, dl
mov rax, qword [rsp + 0x38]
je 0x1401d3830
nop dword [rax]
mov rax, qword [rax]
test dl, dl
je 0x1401d3830
cmp rax, qword [rsp + 0x30]
je 0x1401d3952
mov rbx, qword [rax + 0x30]
test rbx, rbx
jne 0x1401d3618
jmp 0x1401d3952
mov rax, qword [rax]
jmp 0x1401d3800
jmp 0x1401d3840
jmp 0x1401d3850
mov rdx, qword gs:[0x60]
jmp 0x1401d3554
cmp byte [rsp + 0x26], 0
jne 0x1401d3950
mov eax, dword [rbx + r13 + 0x1c]
mov ecx, dword [rbx + r13 + 0x24]
add rax, rbx
add rcx, rbx
movzx ecx, word [rcx + rbp*2]
mov eax, dword [rax + rcx*4]
add rax, rbx
mov edi, dword [rsp + 0x28]
cmp byte [rsp + 0x25], 0
jne 0x1401d3963
cmp dword [rsp + 0x20], 0xa
jl 0x1401d38a3
test edi, edi
jne 0x1401d3930
test edi, edi
sete cl
cmp dword [rsp + 0x20], 0xa
setge al
xor al, cl
mov edx, dword [0x1406d3d98]
lea ebx, [rdx - 1]
imul ebx, edx
mov edx, dword [0x1406d3d9c]
test edi, edi
je 0x1401d3906
cmp dword [rsp + 0x20], 0xa
jl 0x1401d3906
test al, al
je 0x1401d3906
mov rbp, qword gs:[0x60]
cmp edx, 0xa
jl 0x1401d38ec
mov ecx, ebx
and ecx, 1
jne 0x1401d3a32
cmp dword [0x1406d3da0], 0xa
jl 0x1401d3906
mov ecx, dword [0x1406d3da4]
lea ebp, [rcx - 1]
imul ebp, ecx
and ebp, 1
jne 0x1401d3940
test bl, 1
sete bl
cmp edx, 0xa
setl cl
or cl, bl
cmp cl, 1
je 0x1401d3aa4
jmp 0x1401d3d72
jmp 0x1401d3930
jmp 0x1401d3940
jmp 0x1401d3950
mov edi, dword [rsp + 0x28]
xor eax, eax
cmp byte [rsp + 0x25], 0
je 0x1401d3894
lea rdx, [rsp + 0x2c]
mov rcx, qword [rsp + 0x50]
call rax
mov ebp, dword [0x1406d5030]
mov edi, dword [0x1406d5034]
lea edx, [rbp - 1]
imul edx, ebp
and edx, 1
sete cl
cmp edi, 0xa
setl bl
or bl, cl
test eax, eax
je 0x1401d3a54
test bl, bl
je 0x1401d3a30
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x40]
cmp eax, dword [rcx + 8]
jne 0x1401d3a58
mov ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [0x1406d5034], 0xa
jl 0x1401d3a05
mov eax, dword [0x1406d5030]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
je 0x1401d3a05
mov rsi, qword [sym.imp.KERNEL32.dll_SetLastError]
mov ecx, 0xffffffff
call rsi
mov ecx, 0xffffffff
call rsi
cmp dword [0x1406d5034], 0xa
jl 0x1401d3a05
mov eax, dword [0x1406d5030]
lea ecx, [rax - 1]
imul ecx, eax
and ecx, 1
jne 0x1401d39dd
mov rax, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
mov eax, dword [0x1406d5030]
mov edi, dword [0x1406d5034]
lea edx, [rax - 1]
imul edx, eax
and edx, 1
xor eax, eax
jmp 0x1401d3a82
jmp 0x1401d3a30
mov rax, qword gs:[0x60]
nop dword [rax + rax]
mov rax, qword gs:[0x60]
mov rax, qword gs:[0x60]
jmp 0x1401d3a40
test bl, bl
je 0x1401d3a80
mov eax, 1
cmp edi, 0xa
jl 0x1401d3a82
test edx, edx
je 0x1401d3a82
nop word cs:[rax + rax]
jmp 0x1401d3a70
jmp 0x1401d3a80
test edx, edx
sete dl
cmp edi, 0xa
setl cl
or cl, dl
test cl, cl
je 0x1401d3a8f
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword gs:[0x60]
test cl, cl
je 0x1401d3d72
mov rcx, qword [rdx + 0x18]
mov rcx, qword [rcx + 0x10]
mov qword [rsp + 0x38], rcx
cmp dword [0x1406d3da0], 0xa
jl 0x1401d3ae0
mov ecx, dword [0x1406d3da4]
lea edx, [rcx - 1]
imul edx, ecx
and edx, 1
jne 0x1401d3d60
cmp dword [rsp + 0x20], 0xa
setge bl
test edi, edi
setne r9b
mov ecx, dword [0x1406d3da8]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
sete r10b
cmp dword [0x1406d3dac], 0xa
setl cl
mov edx, dword [0x1406d3db0]
lea ebp, [rdx - 1]
imul ebp, edx
test bpl, 1
sete dl
cmp dword [0x1406d3db4], 0xa
setl r8b
cmp dword [0x1406d3db8], 0xa
jl 0x1401d3b47
mov ebp, dword [0x1406d3dbc]
lea edi, [rbp - 1]
imul edi, ebp
and edi, 1
jne 0x1401d3d70
or cl, r10b
or bl, r9b
and bl, al
mov byte [rsp + 0x30], bl
or r8b, dl
mov r9, qword [rsp + 0x38]
mov r11, qword [r9 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov r15d, dword [rax + r11 + 0x88]
test r15, r15
je 0x1401d3d10
mov eax, dword [r11 + r15 + 0x18]
mov r12, rax
jmp 0x1401d3b94
mov ebx, 0x811c9dc5
mov rax, r12
cmp ebx, 0x1ca03e79
je 0x1401d3d80
sub r12, 1
jb 0x1401d3d10
add eax, 0xffffffff
mov edx, dword [r11 + r15 + 0x20]
add rdx, r11
mov r13d, dword [rdx + rax*4]
mov al, byte [r11 + r13]
test al, al
je 0x1401d3b80
add r13, r11
mov ebx, 0x811c9dc5
jmp 0x1401d3cc8
mov eax, ebx
and eax, 0x7ab683ed
or eax, 0x1410812
mov edi, ebx
and edi, 0x85497c12
xor edi, eax
mov eax, edi
xor eax, 0x50af90c3
xor edi, 0xfebef7ed
and edi, eax
mov r10d, ebx
and r10d, 0xae11672e
mov esi, edx
and esi, 0xae11672e
mov eax, edi
not eax
mov ebp, r10d
not ebp
and eax, ebp
and ebp, 0x6400fcd7
xor ebx, 0x24006406
and ebx, r10d
or ebx, ebp
xor ebx, edi
xor ebx, 0x6400fcd7
xor r10d, edi
or r10d, eax
not r10d
or r10d, ebx
mov eax, edx
xor eax, 0xac106400
and eax, esi
mov edi, edx
and edi, 0x12c8050
mov ebp, edx
and ebp, 0x50c21881
lea r14d, [rbp + 0x9148106]
xor r14d, edi
xor ebp, 0xfdd6fc81
mov ebx, edx
and ebx, 0xac106400
or ebx, 0x52831b03
xor ebx, eax
mov eax, ebx
xor eax, 0x53af9b53
xor r14d, 0xa390278
and r14d, eax
or ebx, 0x400080
and ebx, ebp
or ebx, r14d
mov eax, edx
and eax, 0x51ee98d1
or eax, 0x2e016708
xor eax, esi
xor eax, 0x7fefffd9
xor edx, 0xae11672e
or edx, eax
mov eax, edx
xor eax, ebx
not eax
not edx
and edx, ebx
or edx, eax
xor edx, r10d
imul ebx, edx, 0x1000193
mov al, byte [r13]
test al, al
je 0x1401d3b85
add r13, 1
movsx edx, al
add al, 0xbf
cmp al, 0x19
ja 0x1401d3bd0
nop dword [rax]
test cl, cl
je 0x1401d3ce0
mov eax, edx
and eax, 0xebcba6fa
and edx, 0x14345925
or edx, 0xab402048
xor edx, eax
xor edx, 0xab402068
jmp 0x1401d3bd0
test r8b, r8b
je 0x1401d3d50
nop word cs:[rax + rax]
nop
mov r9, qword [r9]
test r8b, r8b
je 0x1401d3d50
cmp r9, qword [rsp + 0x38]
je 0x1401d348b
mov r11, qword [r9 + 0x30]
test r11, r11
jne 0x1401d3b5f
jmp 0x1401d348b
mov r9, qword [r9]
jmp 0x1401d3d20
jmp 0x1401d3d60
jmp 0x1401d3d70
mov rdx, qword gs:[0x60]
jmp 0x1401d3aa4
cmp byte [rsp + 0x30], 0
je 0x1401d348b
nop dword [rax + rax]
jmp 0x1401d3d90