Function at 0x140020f30
Capabilities:
Hash data with crc32

Disassembly:
push rbx
push rbp
push rdi
sub rsp, 0x80
mov rbp, qword [0x1400be390]
xor r9d, r9d
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x60], r14
mov qword [rsp + 0x58], r15
mov eax, dword [rbp + 0x4bf8]
sub eax, 1
movaps xmmword [rsp + 0x40], xmm6
movaps xmmword [rsp + 0x30], xmm7
movaps xmmword [rsp + 0x20], xmm8
mov qword [rsp + 0xa0], rbp
mov qword [rsp + 0xb8], r9
mov byte [rsp + 0xa8], r9b
js 0x140020fbf
movsxd rdx, eax
mov rax, qword [rbp + 0x4c00]
imul r8, rdx, 0x38
add rax, 8
add r8, rax
nop dword [rax]
mov rdi, qword [r8]
test rdi, rdi
je 0x140020fb5
test dword [rdi + 0x14], 0x8000000
jne 0x140021080
sub r8, 0x38
sub rdx, 1
jns 0x140020fa0
lea r14, [rbp + 0x4e88]
mov rdi, r9
mov rax, qword [r14]
xorps xmm7, xmm7
cmp qword [rbp + 0x4e90], r9
je 0x140021017
test rax, rax
jne 0x140021017
comiss xmm7, dword [rbp + 0x4ebc]
movss xmm0, dword [rbp + 0x18]
movss xmm1, dword [rbp + 0x4ea4]
mulss xmm0, dword [0x1400b2fd4]
subss xmm1, xmm0
maxss xmm1, xmm7
movss dword [rbp + 0x4ea4], xmm1
jb 0x140021017
comiss xmm7, xmm1
jb 0x140021017
mov qword [rbp + 0x4e90], r9
mov ebp, 0xffffffff
lea rdx, [0x1400a10a1]
mov ebx, ebp
lea r9, [0x1400a4160]
mov r8b, 0x23
nop
cmp r8b, 0x23
jne 0x140021042
cmp byte [rdx], r8b
jne 0x140021042
cmp byte [rdx + 1], r8b
cmove ebx, ebp
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r9 + rcx*4]
test r8b, r8b
jne 0x140021030
mov rbp, qword [rsp + 0xa0]
not ebx
mov qword [rsp + 0x68], r13
mov eax, dword [rbp + 8]
test al, 2
je 0x140021092
test byte [rbp + 0xc], 1
je 0x140021092
mov r13b, 1
jmp 0x140021095
lea r14, [rbp + 0x4e88]
mov rax, r9
mov qword [r14], r9
jmp 0x140020fcc
xor r13b, r13b
and al, 1
mov qword [rsp + 0x70], r12
mov dword [rsp + 0xb0], eax
test rdi, rdi
jne 0x1400210dd
mov esi, dword [rbp + 0x4e80]
test esi, esi
je 0x1400210dd
mov r8d, 0x1101
mov edx, ebx
mov ecx, esi
call fcn.140016e10
test al, al
je 0x1400210dd
mov r8d, 0x1101
mov edx, ebx
mov ecx, esi
call fcn.140019a90
test al, al
je 0x1400210dd
mov r15b, 1
jmp 0x1400210e5
xor r15b, r15b
test rdi, rdi
jne 0x14002111a
mov esi, dword [rbp + 0x4e84]
test esi, esi
je 0x14002111a
mov r8d, 0x1101
mov edx, ebx
mov ecx, esi
call fcn.140016e10
test al, al
je 0x14002111a
mov r8d, 0x1101
mov edx, ebx
mov ecx, esi
call fcn.140019a90
test al, al
je 0x14002111a
mov r12b, 1
jmp 0x140021122
xor r12b, r12b
test rdi, rdi
jne 0x140021145
test r13b, r13b
je 0x140021145
cmp qword [r14], 0
jne 0x140021145
xor r8d, r8d
xor edx, edx
mov ecx, 0x279
call fcn.140017010
test al, al
je 0x140021145
mov sil, 1
jmp 0x14002114d
xor sil, sil
test rdi, rdi
jne 0x140021162
cmp qword [r14], 0
jne 0x140021162
test r15b, r15b
jne 0x14002115d
test r12b, r12b
je 0x140021162
mov dil, 1
jmp 0x140021165
xor dil, dil
test sil, sil
jne 0x140021173
test dil, dil
je 0x1400211ff
mov rax, qword [rbp + 0x4ca8]
test rax, rax
jne 0x14002119a
mov ecx, dword [rbp + 0x40f8]
lea r8d, [rax - 1]
dec ecx
mov edx, 0x80000001
call fcn.140020dc0
test rax, rax
je 0x1400211ff
mov rax, qword [rax + 0x3c0]
xor r13d, r13d
mov qword [rbp + 0x4e90], rax
mov qword [r14], rax
movzx eax, dil
xor eax, 1
mov qword [rbp + 0x4ea0], r13
add eax, 2
mov qword [rbp + 0x4eb4], r13
mov qword [rbp + 0x4eac], r13
mov byte [rbp + 0x4ea8], sil
mov dword [rbp + 0x4cdc], eax
test r15b, r15b
jne 0x1400211e4
test r12b, r12b
je 0x140021202
mov ecx, dword [rbp + 0x4e84]
mov edx, ebx
or ecx, dword [rbp + 0x4e80]
and ecx, 0xf800
call fcn.1400198e0
jmp 0x140021202
xor r13d, r13d
cmp qword [r14], 0
mov esi, 1
movss xmm0, dword [rbp + 0x4ea0]
addss xmm0, dword [rbp + 0x18]
movss xmm8, dword [0x1400b2da8]
movss xmm6, dword [0x1400b2e88]
movss dword [rbp + 0x4ea0], xmm0
je 0x1400213d1
cmp dword [rbp + 0x4cdc], 3
jne 0x140021312
subss xmm0, xmm8
divss xmm0, dword [0x1400b2d84]
comiss xmm7, xmm0
jbe 0x14002125b
movaps xmm1, xmm7
jmp 0x140021262
movaps xmm1, xmm6
minss xmm1, xmm0
movss xmm0, dword [rbp + 0x4ea4]
mov r8d, esi
maxss xmm0, xmm1
xor edx, edx
mov ecx, 0x281
movss dword [rbp + 0x4ea4], xmm0
call fcn.140017010
mov r8d, esi
movzx ebx, al
xor edx, edx
mov ecx, 0x282
call fcn.140017010
movzx ecx, al
mov eax, ebx
sub eax, ecx
je 0x1400212b1
mov ecx, eax
call fcn.140020e60
mov dword [rbp + 0x4ea4], 0x3f800000
mov rcx, qword [0x1400be390]
mov edx, 0x279
call fcn.140016730
cmp byte [rax], 0
je 0x1400212de
mov rcx, qword [0x1400be390]
mov edx, 0x279
call fcn.1400032a0
cmp byte [rax + 8], 0
je 0x140021312
comiss xmm6, dword [rbp + 0x4ea4]
seta al
and byte [rbp + 0x4ea8], al
je 0x140021304
cmp qword [rbp + 0x4ca8], 0
je 0x14002130f
mov byte [rsp + 0xa8], sil
jmp 0x14002130f
mov rax, qword [r14]
mov qword [rsp + 0xb8], rax
mov qword [r14], r13
cmp qword [r14], 0
je 0x1400213d1
cmp dword [rbp + 0x4cdc], 2
jne 0x1400213d1
mov eax, dword [rbp + 0x4e80]
mov ecx, 0xf800
test eax, eax
mov ebx, 0xf800
cmovne ecx, eax
mov eax, dword [rbp + 0x4e84]
test eax, eax
cmovne ebx, eax
and ebx, ecx
and ebx, 0xf800
jne 0x14002136d
mov r8d, 0x3300
lea rdx, str.D:TheVaultimgui_dockingimgui.cpp
lea rcx, str.shared_mods___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
movss xmm0, dword [rbp + 0x4ea0]
subss xmm0, xmm8
divss xmm0, dword [0x1400b2d84]
comiss xmm7, xmm0
jbe 0x14002138c
movaps xmm6, xmm7
jmp 0x140021390
minss xmm6, xmm0
movss xmm0, dword [rbp + 0x4ea4]
maxss xmm0, xmm6
movss dword [rbp + 0x4ea4], xmm0
test r15b, r15b
jne 0x1400213bf
test r12b, r12b
jne 0x1400213bf
mov eax, dword [rbp + 0xe74]
and eax, ebx
cmp eax, ebx
je 0x1400213d1
mov r15, qword [r14]
jmp 0x1400213d9
movzx ecx, r15b
xor ecx, esi
lea ecx, [rcx*2 - 1]
call fcn.140020e60
mov r15, qword [rsp + 0xb8]
cmp byte [rsp + 0xb0], 0
mov r12, qword [rsp + 0x70]
je 0x14002140f
xor r8d, r8d
mov edx, 0xffffffff
mov ecx, 0x4000
call fcn.140017010
test al, al
je 0x14002140f
mov byte [rbp + 0x4ea8], sil
mov dword [rbp + 0x4cdc], 2
cmp byte [rbp + 0x4ea8], 0
je 0x1400215e8
cmp dword [rbp + 0x4cdc], 2
jne 0x1400215e8
cmp dword [rbp + 0x3918], 0
jg 0x140021463
cmp byte [rbp + 0xe70], 0
jne 0x140021463
cmp byte [rbp + 0xe71], 0
jne 0x140021463
cmp byte [rbp + 0xe73], 0
jne 0x140021463
mov rcx, qword [0x1400be390]
mov edx, 0x4000
call fcn.1400032a0
cmp dword [rax], 0xffffffff
je 0x14002146a
mov byte [rbp + 0x4ea8], 0
mov rcx, qword [0x1400be390]
mov edx, 0x4000
call fcn.140016730
comiss xmm7, dword [rax + 8]
ja 0x1400215b4
cmp byte [rax], 0
jne 0x1400215b4
mov rcx, qword [0x1400be390]
mov edx, 0x4000
call fcn.1400032a0
cmp byte [rax + 8], 0
jne 0x1400215b4
cmp byte [rbp + 0x4ea8], 0
je 0x1400215b4
cmp dword [rbp + 0x41ac], 0
je 0x1400214cc
cmp byte [rbp + 0x41b9], 0
je 0x1400215b4
mov rcx, qword [0x1400be390]
lea rbx, [rbp + 0xe50]
test rcx, rcx
jne 0x140021500
mov r8d, 0x2404
lea rdx, str.D:TheVaultimgui_dockingimgui.cpp
lea rcx, str.GImGui___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [0x1400be390]
test rbx, rbx
jne 0x14002150c
lea rbx, [rcx + 0xe50]
movss xmm0, dword [rbx]
movss xmm6, dword [0x1400b30dc]
comiss xmm0, xmm6
movss xmm1, dword [rbx + 4]
jb 0x14002152d
comiss xmm1, xmm6
jb 0x14002152d
movzx edi, sil
jmp 0x140021530
xor dil, dil
lea rbx, [rbp + 0x381c]
test rcx, rcx
jne 0x14002155d
mov r8d, 0x2404
lea rdx, str.D:TheVaultimgui_dockingimgui.cpp
lea rcx, str.GImGui___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [0x1400be390]
test rbx, rbx
jne 0x140021569
lea rbx, [rcx + 0xe50]
movss xmm0, dword [rbx]
comiss xmm0, xmm6
movss xmm1, dword [rbx + 4]
jb 0x140021599
comiss xmm1, xmm6
jb 0x140021599
mov edx, dword [rsp + 0xa8]
movzx eax, sil
cmp dil, al
movzx edx, dl
cmove edx, esi
mov dword [rsp + 0xa8], edx
jmp 0x1400215bb
mov edx, dword [rsp + 0xa8]
xor al, al
cmp dil, al
movzx edx, dl
cmove edx, esi
mov dword [rsp + 0xa8], edx
jmp 0x1400215bb
mov rcx, qword [0x1400be390]
mov edx, 0x4000
call fcn.140016730
cmp byte [rax], 0
je 0x1400215e1
mov rcx, qword [0x1400be390]
mov edx, 0x4000
call fcn.1400032a0
cmp byte [rax + 8], 0
je 0x1400215e8
mov byte [rbp + 0x4ea8], 0
mov rax, qword [r14]
test rax, rax
je 0x1400217d6
test byte [rax + 0x14], 4
jne 0x1400217d6
cmp dword [rbp + 0x4cdc], 2
movaps xmm2, xmm7
movaps xmm3, xmm7
jne 0x140021677
cmp byte [rbp + 0xe71], 0
jne 0x140021677
mov rcx, qword [0x1400be390]
mov edx, 0x204
call fcn.140016730
mov rcx, qword [0x1400be390]
mov edx, 0x203
mov rsi, rax
call fcn.140016730
mov rcx, qword [0x1400be390]
mov edx, 0x202
mov rdi, rax
call fcn.140016730
mov rcx, qword [0x1400be390]
mov edx, 0x201
mov rbx, rax
call fcn.140016730
movss xmm2, dword [rbx + 0xc]
movss xmm3, dword [rsi + 0xc]
subss xmm3, dword [rdi + 0xc]
subss xmm2, dword [rax + 0xc]
cmp dword [rbp + 0x4cdc], 3
jne 0x1400216e1
mov rcx, qword [0x1400be390]
mov edx, 0x28a
call fcn.140016730
mov rcx, qword [0x1400be390]
mov edx, 0x289
mov rsi, rax
call fcn.140016730
mov rcx, qword [0x1400be390]
mov edx, 0x288
mov rdi, rax
call fcn.140016730
mov rcx, qword [0x1400be390]
mov edx, 0x287
mov rbx, rax
call fcn.140016730
movss xmm2, dword [rbx + 0xc]
movss xmm3, dword [rsi + 0xc]
subss xmm3, dword [rdi + 0xc]
subss xmm2, dword [rax + 0xc]
ucomiss xmm2, xmm7
jp 0x1400216f3
jne 0x1400216f3
ucomiss xmm3, xmm7
jp 0x1400216f3
je 0x1400217d1
movss xmm1, dword [rbp + 0x50]
xorps xmm8, xmm8
movss xmm0, dword [rbp + 0x18]
xorps xmm6, xmm6
minss xmm1, dword [rbp + 0x54]
mulss xmm0, dword [0x1400b3054]
mov byte [rbp + 0x4cf3], 1
mulss xmm1, xmm0
mulss xmm2, xmm1
mulss xmm3, xmm1
addss xmm2, dword [rbp + 0x4eac]
addss xmm3, dword [rbp + 0x4eb0]
cvttss2si eax, xmm2
movss dword [rbp + 0x4eac], xmm2
movss dword [rbp + 0x4eb0], xmm3
cvtsi2ss xmm8, eax
cvttss2si eax, xmm3
ucomiss xmm8, xmm7
cvtsi2ss xmm6, eax
jp 0x140021764
jne 0x140021764
ucomiss xmm6, xmm7
jp 0x140021764
je 0x1400217d1
mov rax, qword [r14]
lea rdx, [rsp + 0xa0]
movaps xmm0, xmm8
movaps xmm1, xmm6
mov esi, 1
mov r8d, esi
mov rcx, qword [rax + 0x3d0]
addss xmm0, dword [rcx + 0x58]
addss xmm1, dword [rcx + 0x5c]
movss dword [rsp + 0xa0], xmm0
movss dword [rsp + 0xa4], xmm1
call fcn.140016190
movss xmm0, dword [rbp + 0x4eac]
movss xmm1, dword [rbp + 0x4eb0]
subss xmm0, xmm8
subss xmm1, xmm6
movss dword [rbp + 0x4eac], xmm0
movss dword [rbp + 0x4eb0], xmm1
jmp 0x1400217d6
mov esi, 1
movaps xmm8, xmmword [rsp + 0x20]
movaps xmm7, xmmword [rsp + 0x30]
movaps xmm6, xmmword [rsp + 0x40]
test r15, r15
je 0x140021885
mov rax, qword [rbp + 0x4ca8]
test rax, rax
je 0x14002180a
cmp r15, qword [rax + 0x3c0]
je 0x140021882
mov rdi, qword [rax + 0x40]
jmp 0x14002180d
mov rdi, r13
xor edx, edx
xor ecx, ecx
call fcn.1400096a0
mov rax, qword [0x1400be390]
xor edx, edx
mov rcx, r15
mov word [rax + 0x4cf1], 1
mov byte [rax + 0x4cf3], 1
call fcn.14001be20
mov edx, esi
mov rcx, r15
call fcn.1400158f0
mov rbx, qword [rbp + 0x4ca8]
cmp dword [rbx + 0x3f0], 0
jne 0x14002185b
xor edx, edx
mov rcx, rbx
call fcn.14001df30
cmp word [rbx + 0x19e], 2
jne 0x14002186b
mov dword [rbp + 0x4ce0], esi
mov rcx, qword [rbx + 0x40]
cmp rcx, rdi
je 0x140021882
mov rax, qword [rbp + 0x3960]
test rax, rax
je 0x140021882
call rax
mov qword [r14], r13
cmp byte [rsp + 0xa8], 0
mov r15, qword [rsp + 0x58]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x78]
je 0x140021966
cmp qword [rbp + 0x4ca8], 0
je 0x140021966
xor edx, edx
xor ecx, ecx
call fcn.1400096a0
mov rdi, qword [rbp + 0x4ca8]
mov rbx, rdi
lea rcx, [rdi + 0x3b0]
cmp qword [rcx], 0
je 0x14002190e
test byte [rbx + 0x19c], 2
jne 0x1400218f8
mov eax, dword [rbx + 0x14]
and eax, 0x15000000
cmp eax, 0x1000000
jne 0x1400218f8
mov rbx, qword [rcx]
lea rcx, [rbx + 0x3b0]
cmp qword [rcx], 0
jne 0x1400218d0
cmp rbx, rdi
je 0x14002190e
xor edx, edx
mov rcx, rbx
call fcn.1400158f0
mov qword [rbx + 0x3e8], rdi
mov rax, qword [rbp + 0x4ca8]
test byte [rax + 0x19c], 2
je 0x140021929
mov ecx, dword [rbp + 0x4ce0]
xor ecx, 1
jmp 0x14002192c
mov ecx, r13d
cmp ecx, dword [rbp + 0x4ce0]
je 0x140021966
cmp ecx, 1
jne 0x14002194a
cmp qword [rbx + 0x458], 0
jne 0x14002194a
mov dword [rax + 0x3f4], r13d
call fcn.14001de70
mov rax, qword [0x1400be390]
mov word [rax + 0x4cf1], 1
mov byte [rax + 0x4cf3], 1
mov r13, qword [rsp + 0x68]
add rsp, 0x80
pop rdi
pop rbp
pop rbx
ret