Function at 0x140018930
Capabilities:
Hash data using fnv

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x38]
sub rsp, 0x138
mov rsi, r9
mov qword [rsp + 0x70], r9
mov r12, r8
mov qword [rbp - 0x28], r8
mov ebx, edx
mov r14, rcx
mov qword [rbp - 0x30], rcx
mov eax, dword [r8 + 0x148]
lea rcx, [rax*8]
call qword [sym.imp.tbbmalloc.dll_scalable_malloc]
mov r15, rax
mov qword [rbp - 0x20], rax
test rax, rax
je 0x140083f89
xor edx, edx
cmp dword [r12 + 0x148], edx
jbe 0x1400189a6
mov qword [rax + rdx*8], 0xffffffffffffffff
inc edx
cmp edx, dword [r12 + 0x148]
jb 0x140018992
shl rbx, 3
mov rcx, rbx
cmp byte [0x1401fa4b8], 0
jne 0x140019482
call qword [sym.imp.tbbmalloc.dll_scalable_malloc]
mov rdi, rax
test rax, rax
je 0x140083f89
mov rcx, rax
cmp dword [0x1401f7008], 3
jl 0x140083964
mov rdx, rbx
call fcn.140048cf0
mov qword [r12 + 0x110], rdi
mov qword [rbp - 0x80], 0
mov rax, qword [rsi]
lea rdx, [rbp - 0x80]
mov rcx, rsi
call qword [rax + 0x38]
mov ebx, eax
test eax, eax
js 0x140083f30
xor ecx, ecx
mov qword [rsp + 0x38], rcx
mov byte [rsp + 0x31], cl
lea r13, [0x1401fb370]
mov esi, 0xa64e
lea r8, [0x140018900]
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x18]
test rcx, rcx
je 0x140018a62
mov rax, qword [rcx]
mov rdx, qword [rax + 0x10]
cmp rdx, r8
jne 0x140018bcf
add dword [rcx + 8], 0xffffffff
jne 0x140018a59
cmp byte [rcx + 0xc], 0
je 0x140083974
mov qword [rsp + 0x38], 0
lea r9, [rbp - 0x78]
lea r8, [rsp + 0x38]
mov edx, 1
mov rcx, rbx
call rdi
mov rcx, qword [rsp + 0x38]
test eax, eax
js 0x140019354
test rcx, rcx
je 0x140019354
mov rax, qword [rcx]
lea rdx, [rbp - 0x38]
call qword [rax + 0x48]
mov ebx, eax
test eax, eax
js 0x140083984
mov rdi, qword [rbp - 0x38]
test rdi, rdi
je 0x140019492
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x30]
mov ebx, eax
test eax, eax
js 0x140083d2f
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
mov r8, qword [rax + 0x28]
lea rax, [0x1400350b0]
cmp r8, rax
jne 0x140018bd6
mov rax, qword [rcx + 0x20]
mov rdx, qword [rcx + 0x18]
sub rdx, qword [rax + 0x50]
movabs rax, 0xe38e38e38e38e39
imul rdx
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsp + 0x44], edx
mov rax, qword [rcx]
mov r8, qword [rax + 0x20]
lea rax, [0x140034590]
cmp r8, rax
jne 0x140018bf2
mov rax, qword [rcx + 0x18]
movzx edx, word [rax + 0xc]
movsx eax, dx
mov r8d, 0xfeff
cmp dx, r8w
cmovbe eax, edx
mov dword [rsp + 0x40], eax
movzx edx, word [r14 + 0x48]
cmp dx, si
je 0x1400839cc
mov r8d, 0xa641
cmp dx, r8w
je 0x1400839cc
mov rsi, qword [r14 + 0xf28]
movzx edx, byte [rsp + 0x30]
cmp dl, 2
je 0x140018c12
cmp dl, 0x69
je 0x140018c12
test eax, eax
mov esi, 0xa64e
lea r8, [0x140018900]
jle 0x140018a29
dec eax
mov dword [rsp + 0x40], eax
cdqe
lea rdx, [r15 + rax*8]
lea r8, [0x140018900]
cmp dword [rdx], 0xffffffff
je 0x140018bbf
cmp dword [rdx + 4], 0xffffffff
jne 0x140018a29
mov eax, dword [rsp + 0x44]
mov dword [rdx + 4], eax
mov rcx, qword [rsp + 0x38]
jmp 0x140018a22
mov eax, dword [rsp + 0x44]
mov dword [rdx], eax
mov rcx, qword [rsp + 0x38]
jmp 0x140018a29
call rdx
jmp 0x140018a59
lea rdx, [rsp + 0x44]
call r8
mov ebx, eax
test eax, eax
js 0x140083cf2
mov rcx, qword [rsp + 0x38]
jmp 0x140018b09
lea rdx, [rsp + 0x40]
call r8
mov ebx, eax
test eax, eax
js 0x140083ca0
mov rcx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x40]
jmp 0x140018b3c
xor r15d, r15d
mov qword [rbp - 0x68], r15
mov rax, qword [rcx]
lea rdx, [rbp - 0x68]
call qword [rax + 0x40]
mov ebx, eax
test eax, eax
js 0x140083c60
mov rcx, qword [rbp - 0x68]
mov rax, qword [rcx]
mov r9, qword [rax + 0x18]
lea rax, [fcn.140032b10]
cmp r9, rax
jne 0x1400192ce
mov r13, qword [rcx + 0x10]
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x60], r13
mov eax, dword [rcx + 0x18]
mov dword [rsp + 0x78], eax
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1400194b6
cmp qword [rcx + 0x18], r15
je 0x140083bf5
mov ebx, r15d
test ebx, ebx
js 0x140083bfa
mov eax, 0xa64e
cmp word [r14 + 0x48], ax
je 0x1400839e5
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], r15
mov dword [rsp + 0x54], r15d
cmp dword [rsp + 0x40], 0
setg bl
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x60], eax
mov rcx, qword [r12 + 0x118]
test rcx, rcx
jne 0x140083a36
mov eax, dword [rsp + 0x44]
mov dword [rsp + 0x68], eax
movsxd rax, dword [rsp + 0x78]
dec eax
mov dword [rsp + 0x50], eax
mov qword [rbp - 0x48], rax
mov edx, eax
mov rcx, r13
call fcn.14003c2f0
mov r15, rax
mov qword [rsp + 0x58], rax
mov r12b, 1
mov rcx, rax
shr rcx, 8
movzx edx, cl
movzx ecx, al
movabs rax, 0xcbf29ce484222325
xor rcx, rax
movabs r8, 0x100000001b3
imul rcx, r8
xor rdx, rcx
imul rdx, r8
mov rax, r15
shr rax, 0x10
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r15
shr rax, 0x18
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r15
shr rax, 0x20
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r15
shr rax, 0x28
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r15
shr rax, 0x30
movzx ecx, al
xor rdx, rcx
imul rdx, r8
mov rax, r15
shr rax, 0x38
xor rdx, rax
imul rdx, r8
mov r10, qword [rsi + 0x30]
mov r11, qword [rsi + 0x18]
mov rax, r11
shr rax, 5
xor rax, rdx
shr rax, 7
xor edi, edi
mov r8, r10
and r8, rax
and dl, 0x7f
movsx eax, dl
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
movdqu xmm1, xmmword [r11 + r8]
movdqa xmm0, xmm1
pcmpeqb xmm0, xmm2
pmovmskb eax, xmm0
test eax, eax
jne 0x140019140
pcmpeqb xmm1, xmmword [0x1401b02a0]
pmovmskb eax, xmm1
test eax, eax
je 0x1400192e9
mov rcx, qword [rsp + 0x48]
movzx eax, r12b
mov r8d, dword [rsp + 0x50]
test al, al
je 0x140019192
xor r12b, r12b
mov eax, dword [rsi + 0x4c]
mov edx, r15d
and edx, eax
cmp edx, dword [rsi + 0x48]
jb 0x140083b23
mov eax, edx
mov ecx, dword [rsi + 0x64]
shr eax, cl
mov ecx, dword [rsi + 0x60]
and ecx, edx
mov edx, eax
mov rax, qword [rsi + 0x78]
mov rax, qword [rax + rdx*8]
lea r13, [rax + rcx*8]
mov rdi, qword [r13]
test r12b, r12b
jne 0x140083b32
mov r15, qword [0x1401f7128]
add r15, 0x10
cmp byte [rsi + 0x6a], 0
jne 0x14001939a
mov rdi, qword [rsi + 0x80]
test rdi, rdi
je 0x140083b77
mov rcx, qword [rdi + 8]
mov rax, qword [rdi + 0x18]
sub rax, rcx
cmp r15, rax
ja 0x140083b77
mov rax, qword [rdi + 0x10]
sub rax, rcx
cmp r15, rax
ja 0x1400193b7
mov rcx, qword [rdi + 8]
lea rax, [rcx + r15]
mov qword [rdi + 8], rax
lea r12, [rcx + rdi]
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
sub rax, rcx
cmp rax, 4
jb 0x1400194a1
mov rax, qword [rsi]
mov edx, dword [rsp + 0x50]
mov dword [rcx + rax], edx
add qword [rsi + 8], 4
mov rax, qword [rsp + 0x58]
mov qword [r12 + 8], rax
lea rdi, [rdx + 1]
mov rcx, qword [rsi + 8]
mov rax, qword [rsi + 0x10]
sub rax, rcx
cmp rdi, rax
ja 0x14001946d
add rcx, qword [rsi]
mov r8, rdi
mov rdx, qword [rbp - 0x70]
call sub.VCRUNTIME140.dll_memcpy
add qword [rsi + 8], rdi
mov rax, qword [rsi + 8]
sub eax, edi
mov dword [r12 + 0x14], eax
mov rax, qword [r13]
mov qword [r12], rax
mov qword [r13], r12
inc dword [rsi + 0x54]
mov r13, qword [rsp + 0x58]
movzx edi, r13b
movabs rax, 0xcbf29ce484222325
xor rdi, rax
movabs r14, 0x100000001b3
imul rdi, r14
movzx eax, byte [rsp + 0x59]
xor rdi, rax
imul rdi, r14
movzx eax, byte [rsp + 0x5a]
xor rdi, rax
imul rdi, r14
movzx eax, byte [rsp + 0x5b]
xor rdi, rax
imul rdi, r14
movzx eax, byte [rsp + 0x5c]
xor rdi, rax
imul rdi, r14
movzx eax, byte [rsp + 0x5d]
xor rdi, rax
imul rdi, r14
movzx eax, byte [rsp + 0x5e]
xor rdi, rax
imul rdi, r14
movzx eax, byte [rsp + 0x5f]
xor rdi, rax
imul rdi, r14
mov r9, qword [rsi + 0x30]
mov r10, qword [rsi + 0x18]
mov r11, r10
shr r11, 5
xor r11, rdi
shr r11, 7
xor r15d, r15d
mov r8, r9
and r8, r11
movzx eax, dil
and al, 0x7f
movsx eax, al
movd xmm2, eax
punpcklbw xmm2, xmm2
punpcklwd xmm2, xmm2
pshufd xmm2, xmm2, 0
mov r14, qword [rbp - 0x30]
mov rdx, qword [rsp + 0x48]
movdqu xmm1, xmmword [r10 + r8]
movdqa xmm0, xmm2
pcmpeqb xmm0, xmm1
pmovmskb eax, xmm0
mov qword [rsp + 0x48], rdx
test eax, eax
jne 0x140019320
pcmpeqb xmm1, xmmword [0x1401b02a0]
pmovmskb eax, xmm1
test eax, eax
je 0x1400192f8
xor r15d, r15d
mov ecx, r15d
mov r8, r9
and r8, r11
movdqu xmm0, xmmword [r10 + r8]
movdqa xmm1, xmmword [0x1401b0260]
pcmpgtb xmm1, xmm0
pmovmskb eax, xmm1
test eax, eax
je 0x140019307
mov qword [rsp + 0x48], rdx
bsf ecx, eax
movsxd rdx, ecx
add rdx, r8
and rdx, r9
cmp qword [rsi + 0x40], r15
je 0x140019408
inc qword [rsi + 0x28]
mov rax, qword [rsi + 0x18]
cmp byte [rdx + rax], 0x80
jne 0x140083bc5
mov ecx, 1
sub qword [rsi + 0x40], rcx
and dil, 0x7f
mov byte [rdx + rax], dil
mov rax, qword [rsi + 0x30]
lea rcx, [rdx - 0x10]
and rcx, rax
and eax, 0xf
add rcx, rax
mov rax, qword [rsi + 0x18]
mov byte [rcx + rax + 1], dil
shl rdx, 4
add rdx, qword [rsi + 0x20]
mov qword [rdx], r13
mov qword [rdx + 8], r12
lea r8, [r12 + 0x10]
movzx eax, byte [rsi + 0xb0]
mov qword [r8 + 8], 0
mov qword [r8 + 0x10], r15
mov ecx, dword [rsp + 0x68]
mov dword [r8 + 0x24], ecx
and byte [r8 + 0x23], 0xfe
or byte [r8 + 0x23], 8
mov byte [r8 + 0x22], 0
mov ecx, eax
and ecx, 1
shl ecx, 0x1e
mov eax, dword [r8]
and eax, 0xbffffffe
or ecx, eax
mov dword [r8], ecx
mov rax, qword [rsi + 0xa8]
lea rcx, [r8 + 0x30]
mov qword [rcx], r15
mov qword [r8 + 0x28], rax
mov qword [rax], r8
mov qword [rsi + 0xa8], rcx
cmp byte [0x1401fa4b8], 0
jne 0x1400190e4
mov qword [r8 + 0x38], r15
or dword [r8], 0x2000000
mov ecx, dword [rsp + 0x44]
mov r12, qword [rbp - 0x28]
mov rax, qword [r12 + 0x110]
mov qword [rax + rcx*8], r8
mov rdx, qword [rbp - 0x58]
test rdx, rdx
jne 0x140083bcd
cmp dword [rsp + 0x54], 0
jne 0x140083bd6
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140019127
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
mov rcx, qword [rsp + 0x38]
mov eax, dword [rsp + 0x40]
mov r15, qword [rbp - 0x20]
lea r13, [0x1401fb370]
jmp 0x140018b78
mov dword [rsp + 0x7c], 0
bsf edx, eax
mov r9, qword [rsi + 0x20]
movsxd rcx, edx
add rcx, r8
and rcx, r10
add rcx, rcx
cmp qword [r9 + rcx*8], r15
jne 0x140019316
movsxd rax, edx
add rax, r8
and rax, r10
mov rcx, rax
shl rcx, 4
add rcx, r9
mov qword [rsp + 0x48], rcx
cmp rax, r10
je 0x140018de1
mov qword [rsp + 0x48], rcx
xor al, al
jmp 0x140018de5
mov rdi, qword [rcx + 8]
mov r9d, dword [rdi + 0x14]
add r9, qword [rsi]
mov eax, dword [r9 - 4]
cmp eax, r8d
jne 0x140018df5
mov edx, eax
mov r8, r13
cmp dword [0x1401f7008], 3
jl 0x140083ae0
cmp rax, 0x10
jb 0x1400191eb
movdqu xmm0, xmmword [r9]
pcmpistri xmm0, xmmword [r8], 0x18
pushfq
pop rax
test al, 0x41
jne 0x140083af3
add r9, 0x10
add r8, 0x10
sub rdx, 0x10
cmp rdx, 0x10
jae 0x1400191c2
test rdx, rdx
je 0x14001921a
cmp rdx, 8
jae 0x140019268
cmp rdx, 4
jae 0x140019223
movsx eax, byte [r9]
movsx ecx, byte [r8]
cmp al, cl
jne 0x140083b0d
inc r9
inc r8
dec rdx
test rdx, rdx
jne 0x1400191f0
lea r8, [rdi + 0x10]
jmp 0x1400190eb
mov r11d, dword [r9]
lea ecx, [r11 - 0x1010101]
mov eax, r11d
not eax
and ecx, eax
test ecx, 0x80808080
jne 0x1400191fc
mov r10d, dword [r8]
lea ecx, [r10 - 0x1010101]
mov eax, r10d
not eax
and ecx, eax
test ecx, 0x80808080
jne 0x1400191fc
cmp r11d, r10d
jne 0x1400191fc
add r9, 4
add r8, 4
sub rdx, 4
jmp 0x140019215
mov r11, qword [r9]
movabs r13, 0xfefefefefefefeff
lea rcx, [r11 + r13]
mov rax, r11
not rax
and rcx, rax
movabs rax, 0x8080808080808080
test rax, rcx
jne 0x140019223
mov r10, qword [r8]
lea rcx, [r10 + r13]
mov rax, r10
not rax
and rcx, rax
movabs rax, 0x8080808080808080
test rax, rcx
jne 0x140019223
cmp r11, r10
jne 0x140019223
add r9, 8
add r8, 8
sub rdx, 8
jmp 0x140019215
lea r8, [rsp + 0x78]
lea rdx, [rbp - 0x60]
call r9
mov ebx, eax
mov r13, qword [rbp - 0x60]
mov qword [rbp - 0x70], r13
jmp 0x140018c75
add rdi, 0x10
add r8, rdi
and r8, r10
jmp 0x140018dae
add r15, 0x10
add r8, r15
and r8, r9
jmp 0x140018fb3
add rcx, 0x10
add r8, rcx
and r8, r9
jmp 0x140018ff2
lea ecx, [rax - 1]
and eax, ecx
jmp 0x140018dc0
mov dword [rsp + 0x7c], 0
bsf ecx, eax
movsxd rdx, ecx
add rdx, r8
and rdx, r9
shl rdx, 4
add rdx, qword [rsi + 0x20]
cmp qword [rdx], r13
je 0x140083ba4
lea ecx, [rax - 1]
and eax, ecx
mov rdx, qword [rsp + 0x48]
jmp 0x140018fc5
cmp word [r14 + 0x48], si
je 0x140083d6f
mov qword [0x1401fb748], r15
mov qword [0x1401fb750], r12
test rcx, rcx
jne 0x140083f24
mov rcx, qword [rbp - 0x80]
test rcx, rcx
je 0x140019386
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
add rsp, 0x138
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov rcx, r15
call fcn.1400114a4
mov r12, rax
mov r8, r15
xor edx, edx
mov rcx, rax
call sub.VCRUNTIME140.dll_memset
jmp 0x140018e86
lea r12, [rcx + r15]
add rcx, rdi
mov r9d, 4
mov r8d, 0x1000
mov rdx, r15
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x140083c46
mov r9, qword [rdi + 0x10]
mov ecx, dword [0x1401fb6a8]
sub r12, r9
lea r8, [rcx - 1]
add r8, r12
xor edx, edx
mov rax, r8
div rcx
sub r8, rdx
lea rax, [r8 + r9]
mov qword [rdi + 0x10], rax
jmp 0x140018e76
cmp byte [r10 + rdx], 0xfe
je 0x14001945e
test r9, r9
je 0x14001949a
mov rax, r9
shr rax, 3
mov rcx, r9
sub rcx, rax
shr rcx, 1
cmp qword [rsi + 0x28], rcx
jbe 0x140083bb6
lea rdx, [r9*2 + 1]
lea rcx, [rsi + 0x18]
call fcn.140016be0
mov r8, rdi
lea rdx, [rbp + 0x18]
lea rcx, [rsi + 0x18]
call fcn.140010058
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
mov rdx, qword [rbp - 0x48]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], rax
jmp 0x14001902b
lea rdx, [rdi + rcx]
mov rcx, rsi
call fcn.14000a1cc
mov rcx, qword [rsi + 8]
jmp 0x140018ecc
call fcn.1400114a4
mov rdi, rax
mov rcx, rax
jmp 0x1400189dc
mov rdi, r12
jmp 0x140018aac
mov edx, 1
jmp 0x14001943a
lea rdx, [rcx + 4]
mov rcx, rsi
call fcn.14000a1cc
mov rcx, qword [rsi + 8]
jmp 0x140018e9b
cmp qword [rcx + 0x18], 0
je 0x140018c72
jmp 0x140083bf5
mov r8, rbx
xor edx, edx
call sub.VCRUNTIME140.dll_memset
nop
jmp 0x1400189e4
mov edx, 0x28
call fcn.14005a620
nop
jmp 0x140018a59
cmp byte [0x1401fb5ac], 0
je 0x140019492
mov qword [rbp - 0x48], r13
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [0x1401fb5a8], ebx
cmp ebx, 0x8007000e
je 0x140083be8
cmp ebx, 0x80070008
je 0x140083be8
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
nop
jmp 0x140019492
test byte [rdi + 0x130], 1
je 0x140018b5a
mov rsi, qword [r14 + 0xf30]
jmp 0x140018b61
cmp dword [rsp + 0x40], 0
jle 0x140018c8d
lea rcx, [0x1401b7208]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov r8, rax
lea rdx, [0x1401b7208]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
test eax, eax
je 0x140083a2c
lea rdx, [0x1401b7668]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
test eax, eax
jne 0x140018c8d
mov byte [rsp + 0x31], 1
jmp 0x140018c8d
mov r9, rax
lea r8, [rsp + 0x60]
lea rdx, [rbp - 0x18]
call fcn.1400d9780
mov rax, qword [r12 + 0x118]
mov rcx, qword [rax + 0x18]
add rcx, qword [rax]
cmp qword [rbp - 0x18], rcx
sete al
test al, al
jne 0x140018cbb
mov rax, qword [rbp - 0x10]
mov rdi, qword [rax + 8]
mov qword [rbp - 0x58], rdi
test rdi, rdi
je 0x140018cbb
test byte [rdi], 1
jne 0x140018cbb
mov rax, qword [r14 + 0x13c0]
mov edi, dword [rdi + 8]
add rdi, qword [rax]
test bl, bl
je 0x140083acc
mov rcx, qword [r12 + 0x120]
test rcx, rcx
je 0x140083acc
mov rbx, qword [rcx + 0x18]
add rbx, qword [rcx]
mov r9d, dword [rsp + 0x60]
lea r8, [rsp + 0x60]
lea rdx, [rbp - 8]
call fcn.1400dbcd8
cmp qword [rbp - 8], rbx
sete al
movzx eax, al
xor eax, 1
mov dword [rsp + 0x54], eax
mov rdx, rdi
mov rcx, r13
call fcn.14013538c
mov qword [rbp - 0x50], rax
jmp 0x140018cbb
mov r8, rax
mov rdx, r13
mov rcx, r9
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
mov edx, eax
jmp 0x140083b11
test r12b, al
je 0x14001921a
movsxd rax, ecx
movsx edx, byte [r9 + rax]
movsx eax, byte [r8 + rax]
sub edx, eax
jmp 0x140083b11
mov edx, eax
sub edx, ecx
test edx, edx
je 0x14001921a
mov r8d, dword [rsp + 0x50]
jmp 0x140018df5
lea edx, [rax*2 + 1]
and edx, r15d
jmp 0x140018e06
test rdi, rdi
je 0x140018e2d
mov r12, qword [rbp - 0x70]
cmp qword [rdi + 8], r15
jne 0x140083b6a
mov edx, dword [rdi + 0x14]
add rdx, qword [rsi]
cmp dword [rdx - 4], r8d
jne 0x140083b6a
mov r8, qword [rbp - 0x48]
mov rcx, r12
call fcn.14004e884
test eax, eax
je 0x14001921a
mov r8d, dword [rsp + 0x50]
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140083b3f
jmp 0x140018e2d
lea rcx, [r15 + 0x40001f]
and rcx, 0xffffffffffc00000
mov rdx, r15
call fcn.14004fd54
test rdi, rdi
je 0x140083b95
mov qword [rax], rdi
mov qword [rsi + 0x80], rax
mov rdi, rax
jmp 0x140018e76
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], rax
xor r15d, r15d
jmp 0x140019077
lea rcx, [rsi + 0x18]
call fcn.1400f2f54
nop
jmp 0x140019443
mov rcx, r15
jmp 0x140019042
mov qword [r8 + 0x18], rdx
jmp 0x14001910c
mov r9, qword [rbp - 0x50]
mov rcx, r14
call fcn.14013004c
nop
jmp 0x140019117
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
mov ebx, 0x8000ffff
cmp byte [0x1401fb5ac], 0
je 0x140083c38
lea rsi, [0x1401fb370]
mov qword [rsp + 0x70], rsi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [0x1401fb5a8], ebx
cmp ebx, 0x8007000e
je 0x140083c53
cmp ebx, 0x80070008
je 0x140083c53
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, 0x4d3
mov rcx, rdi
call fcn.140124a00
int3
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
cmp byte [0x1401fb5ac], 0
je 0x140083c38
mov qword [rsp + 0x70], r13
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [0x1401fb5a8], ebx
cmp ebx, 0x8007000e
je 0x140083c93
cmp ebx, 0x80070008
je 0x140083c93
mov rcx, r13
jmp 0x140083c32
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
cmp byte [0x1401fb5ac], 0
je 0x140083cd7
mov qword [rsp + 0x70], r13
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [0x1401fb5a8], ebx
cmp ebx, 0x8007000e
je 0x140083ce5
cmp ebx, 0x80070008
je 0x140083ce5
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, 0x4d3
mov rcx, rdi
call fcn.140124a00
nop
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
cmp byte [0x1401fb5ac], 0
je 0x140083cd7
mov qword [rsp + 0x70], r13
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [0x1401fb5a8], ebx
cmp ebx, 0x8007000e
je 0x140083d22
cmp ebx, 0x80070008
je 0x140083d22
jmp 0x140083cce
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
cmp byte [0x1401fb5ac], 0
je 0x140083cd7
mov qword [rsp + 0x70], r13
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [0x1401fb5a8], ebx
cmp ebx, 0x8007000e
je 0x140083d62
cmp ebx, 0x80070008
je 0x140083d62
jmp 0x140083cce
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
cmp byte [rsp + 0x31], 0
jne 0x140083d8e
cmp dword [r12 + 0x1c], 1
jne 0x14001935f
cmp word [r12 + 0x20], si
jne 0x14001935f
mov rdi, qword [rsp + 0x70]
mov rax, qword [rdi]
mov rbx, qword [rax + 0x38]
lea rcx, [rbp - 0x80]
call fcn.140010ea8
mov rdx, rax
mov rcx, rdi
call rbx
mov ecx, eax
call fcn.14003394c
test al, al
je 0x140083dc4
mov edx, 0x4d3
mov rcx, r12
call fcn.140124a00
int3
mov rbx, qword [rbp - 0x80]
mov rax, qword [rbx]
mov rdi, qword [rax + 0x18]
lea rcx, [rsp + 0x38]
call fcn.140043a68
lea r9, [rbp - 0x78]
mov r8, rax
mov edx, 1
mov rcx, rbx
call rdi
mov rcx, qword [rsp + 0x38]
test eax, eax
js 0x14001935f
test rcx, rcx
je 0x14001935f
mov rax, qword [rcx]
lea rdx, [rsp + 0x30]
call qword [rax + 0x30]
mov ecx, eax
call fcn.14003394c
test al, al
jne 0x140083f09
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea rdx, [rsp + 0x54]
call qword [rax + 0x28]
mov ecx, eax
call fcn.14003394c
test al, al
jne 0x140083f09
mov rcx, qword [rsp + 0x38]
mov rax, qword [rcx]
lea rdx, [rsp + 0x68]
call qword [rax + 0x20]
mov ecx, eax
call fcn.14003394c
test al, al
jne 0x140083f09
cmp dword [rsp + 0x68], 0
je 0x140083dc4
movzx eax, byte [rsp + 0x30]
cmp al, 2
je 0x140083e74
cmp al, 0x69
jne 0x140083dc4
mov ecx, dword [rsp + 0x54]
mov rax, qword [r12 + 0x110]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x140083dc4
mov rdx, rbx
mov rcx, r14
call fcn.1400131dc
cmp byte [rax + 0xb0], 0
jne 0x140083eaa
mov rcx, qword [r14 + 0xf30]
jmp 0x140083eb1
mov rcx, qword [r14 + 0xf28]
mov edx, dword [rbx + 4]
add rdx, qword [rax]
xor r8d, r8d
call fcn.14002acd8
mov r8, rax
mov rcx, rax
call fcn.14002fccc
test al, al
jne 0x140083dc4
or dword [rbx], 0x800000
and dword [r8], 0xffffff7f
or dword [r8], 0x60
mov ecx, dword [r8]
lea rdx, [r14 + 0x10c8]
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x20], rdx
mov r9, rbx
mov rdx, r12
mov rcx, r14
call fcn.1400110d8
jmp 0x140083dc4
mov rdx, r12
mov rcx, qword [rsp + 0x38]
call fcn.140125f68
mov edx, 0x4d3
mov rcx, rax
call fcn.140124a00
nop
mov rax, qword [rcx]
call qword [rax + 0x10]
nop
jmp 0x140019376
cmp byte [0x1401fb5ac], 0
je 0x140083f6e
lea rsi, [0x1401fb370]
mov qword [rsp + 0x70], rsi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
nop
mov dword [0x1401fb5a8], ebx
cmp ebx, 0x8007000e
je 0x140083f7c
cmp ebx, 0x80070008
je 0x140083f7c
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov edx, 0x4d3
mov rcx, r12
call fcn.140124a00
nop
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
nop
mov edx, 0x44e
xor ecx, ecx
call fcn.14005e3e8
int3