Function at 0x18003a3f0
Capabilities:
Hash data with crc32

Disassembly:
mov rax, rsp
sub rsp, 0x68
mov qword [rax + 0x20], rsi
xor edx, edx
mov qword [rax - 8], rdi
mov esi, 1
mov qword [rax - 0x10], r12
mov r8d, esi
mov qword [rax - 0x18], r13
mov ecx, 0x241
mov qword [rax - 0x28], r15
xor r13b, r13b
xor r15b, r15b
xor dil, dil
xor r12b, r12b
call fcn.180011870
test al, al
je 0x18003a455
cmp byte [0x180073b19], dil
jne 0x18003a455
cmp byte [0x180073c21], dil
movzx eax, sil
jne 0x18003a45d
cmp byte [0x1800700d1], dil
sete byte [0x1800700d1]
jmp 0x18003a45d
xor al, al
mov byte [0x180073b19], al
mov r9, qword [0x180073b20]
mov edx, 0x20f
mov rcx, r9
mov byte [0x180073c21], al
call fcn.180011160
cmp byte [rax], dil
je 0x18003a4bd
cmp byte [r9 + 0x4034], dil
jne 0x18003a4bd
mov edx, 0x24d
mov rcx, r9
call fcn.180011160
cmp byte [rax], dil
je 0x18003a4bd
cmp byte [r9 + 0x431c], dil
jne 0x18003a4bd
cmp byte [0x180073c1e], dil
movzx eax, sil
jne 0x18003a4bf
cmp byte [0x180073b1d], dil
sete byte [0x180073b1d]
jmp 0x18003a4bf
xor al, al
mov byte [0x180073c1e], al
call fcn.18003a010
call fcn.180008fe0
cmp byte [0x1800700d1], dil
je 0x18003b050
mov qword [rsp + 0x78], rbx
lea rdx, [0x1800700d1]
mov rbx, qword [0x180073b20]
lea rcx, str.BetterRenderDragon
mov qword [rsp + 0x80], rbp
mov r8d, 0x400
xor ebp, ebp
or dword [rbx + 0x47a8], 3
mov dword [rbx + 0x47b8], 0x41200000
mov qword [rbx + 0x47bc], 0x41200000
mov dword [rbx + 0x47c4], ebp
mov dword [rbx + 0x47ac], 4
mov dword [rbx + 0x47c8], 0x43960000
mov dword [rbx + 0x47cc], 0x437a0000
mov dword [rbx + 0x47b0], 4
call fcn.18000e210
test al, al
je 0x18003aab9
call fcn.180038840
test al, al
je 0x18003a713
movzx r8d, sil
lea rcx, str.View
xor edx, edx
call fcn.180038d30
test al, al
je 0x18003a5a8
xor r9d, r9d
mov byte [rsp + 0x20], sil
lea rcx, str.Open_Module_Manager
call fcn.180039a60
test al, al
je 0x18003a5a3
mov byte [0x180073c1c], sil
movzx edi, sil
call fcn.180039960
movzx r8d, sil
lea rcx, str.Windows
xor edx, edx
call fcn.180038d30
test al, al
je 0x18003a692
xor r9d, r9d
mov byte [rsp + 0x20], sil
lea rcx, str.Reset_window_position_and_size
call fcn.180039a60
movzx edx, byte [0x180073c1c]
movzx r13d, al
test dl, dl
jne 0x18003a5ee
cmp byte [0x180073c20], bpl
je 0x18003a666
mov rcx, qword [0x180073b20]
mov rcx, qword [rcx + 0x3ed0]
cmp byte [rcx + 0xbb], bpl
jne 0x18003a61e
mov ecx, dword [rcx + 0x1b4]
neg ecx
sbb ecx, ecx
add ecx, 6
call fcn.180036db0
movzx edx, byte [0x180073c1c]
test dl, dl
je 0x18003a63f
xor r9d, r9d
mov byte [rsp + 0x20], sil
lea rcx, str.Module_Manager
call fcn.180039a60
test al, al
movzx edi, dil
cmovne edi, esi
cmp byte [0x180073c20], bpl
je 0x18003a666
xor r9d, r9d
mov byte [rsp + 0x20], sil
lea rcx, str.About
call fcn.180039a60
test al, al
movzx r15d, r15b
cmovne r15d, esi
cmp byte [0x180073c1d], bpl
je 0x18003a68d
xor r9d, r9d
mov byte [rsp + 0x20], sil
lea rcx, str.Changelog
call fcn.180039a60
test al, al
movzx r12d, r12b
cmovne r12d, esi
call fcn.180039960
movzx r8d, sil
lea rcx, str.Help
xor edx, edx
call fcn.180038d30
test al, al
je 0x18003a6d0
xor r9d, r9d
mov byte [rsp + 0x20], sil
lea rcx, str.About
call fcn.180039a60
test al, al
je 0x18003a6cb
mov byte [0x180073c20], sil
movzx r15d, sil
call fcn.180039960
movzx r8d, sil
lea rcx, str.Changelog
xor edx, edx
call fcn.180038d30
test al, al
je 0x18003a70e
xor r9d, r9d
mov byte [rsp + 0x20], sil
lea rcx, str.Changelog
call fcn.180039a60
test al, al
je 0x18003a709
mov byte [0x180073c1d], sil
movzx r12d, sil
call fcn.180039960
call fcn.180038a90
lea rdx, str.v1.3.5
lea rcx, str.BetterRenderDragon__s
call fcn.180034d30
call fcn.180036ca0
cmp byte [0x1800700d3], bpl
je 0x18003a81b
lea rcx, str.Performance
call fcn.180037c30
test al, al
je 0x18003a81b
mov rcx, qword [0x180073b20]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rcx + 0x3ed0]
movss xmm0, dword [rcx + 0x383c]
lea rcx, str.FPS:__.01f
addss xmm0, dword [rax + 0x144]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
movss xmm1, dword [rbx + 0xe0]
cvtps2pd xmm1, xmm1
movq rdx, xmm1
call fcn.180034d30
movss xmm0, dword [rbx + 0x18]
lea rcx, str.Frame_Time:__.01fms
mulss xmm0, dword [0x180063c0c]
cvtps2pd xmm1, xmm0
movq rdx, xmm1
call fcn.180034d30
mov rcx, qword [0x180073b20]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rcx + 0x3ed0]
movss xmm0, dword [rax + 0x144]
subss xmm0, dword [rcx + 0x383c]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
cmp byte [0x1800700d2], bpl
je 0x18003a942
lea rcx, str.Vanilla2Deferred
call fcn.180037c30
test al, al
je 0x18003a942
cmp byte [0x1800700d5], bpl
jne 0x18003a84a
call fcn.180010ca0
mov rcx, qword [0x180073b20]
lea rdx, [0x180073b1e]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rcx + 0x3ed0]
movss xmm0, dword [rcx + 0x383c]
lea rcx, str.Disable_RTX__Requires_restart_
addss xmm0, dword [rax + 0x144]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
call fcn.180036600
cmp byte [0x1800700d5], bpl
mov rdx, qword [0x180073b20]
mov rax, qword [rdx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rdx + 0x3ed0]
movss xmm0, dword [rax + 0x144]
subss xmm0, dword [rdx + 0x383c]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
jne 0x18003a942
mov eax, dword [rdx + 0x4750]
movsxd rcx, dword [rdx + 0x4858]
dec word [rdx + 0x5b78]
shr eax, 2
test sil, al
lea eax, [rcx - 1]
mov dword [rdx + 0x4858], eax
mov rax, qword [rdx + 0x4860]
mov r8d, dword [rax + rcx*4 - 8]
mov dword [rdx + 0x4750], r8d
je 0x18003a942
test r8b, 4
jne 0x18003a942
mov eax, dword [rdx + 0x5b74]
mov dword [rdx + 0x37d0], eax
cmp byte [0x1800700d6], bpl
je 0x18003aa08
lea rcx, str.MaterialBinLoader
call fcn.180037c30
test al, al
je 0x18003aa08
mov rcx, qword [0x180073b20]
lea rdx, [0x1800700d4]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rcx + 0x3ed0]
movss xmm0, dword [rcx + 0x383c]
lea rcx, str.Load_shaders_from_resource_pack
addss xmm0, dword [rax + 0x144]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
call fcn.180036600
mov rcx, qword [0x180073b20]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rcx + 0x3ed0]
movss xmm0, dword [rax + 0x144]
subss xmm0, dword [rcx + 0x383c]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
cmp byte [0x180073b1c], bpl
je 0x18003aab4
lea rcx, str.CustomUniforms
call fcn.180037c30
test al, al
je 0x18003aab4
mov rcx, qword [0x180073b20]
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rcx + 0x3ed0]
movss xmm0, dword [rcx + 0x383c]
addss xmm0, dword [rax + 0x144]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
mov rax, qword [rcx + 0x3ed0]
mov byte [rax + 0xb8], sil
mov rax, qword [rcx + 0x3ed0]
movss xmm0, dword [rax + 0x144]
subss xmm0, dword [rcx + 0x383c]
movss dword [rax + 0x144], xmm0
addss xmm0, dword [rax + 0x20]
addss xmm0, dword [rax + 0x148]
movss dword [rax + 0x100], xmm0
call fcn.180036ca0
call fcn.1800104a0
cmp byte [0x180073c1c], bpl
je 0x18003af8a
mov rax, qword [0x180073b20]
test dil, dil
je 0x18003aade
or dword [rax + 0x47a8], 0x20
or dword [rax + 0x47a8], 2
lea rdx, [0x180073c1c]
xor r8d, r8d
mov dword [rax + 0x47c8], 0x43960000
lea rcx, str.BetterRenderDragon___Module_Manager
mov dword [rax + 0x47cc], 0x43020000
mov dword [rax + 0x47b0], 4
call fcn.18000e210
test al, al
je 0x18003af85
movaps xmmword [rsp + 0x30], xmm6
xorps xmm6, xmm6
mov qword [rsp + 0x70], rbp
call fcn.1800110f0
lea rcx, [rsp + 0x70]
movss dword [rsp + 0x28], xmm6
mov qword [rsp + 0x20], rcx
mov r9d, 0x7c0
lea rcx, str.modulesTable
mov r8d, 2
mov edx, eax
call fcn.18002c500
test al, al
je 0x18003af80
mov rax, qword [0x180073b20]
mov esi, 8
mov qword [rsp + 0x48], r14
lea r14, str.Module
mov rdi, qword [rax + 0x4b10]
movsx rcx, word [rdi + 0x1f6]
cmp ecx, dword [rdi + 0x6c]
jge 0x18003acad
imul rbx, rcx, 0x70
inc cx
xor r8d, r8d
add rbx, qword [rdi + 0x18]
mov word [rdi + 0x1f6], cx
mov rdx, rbx
mov rcx, rdi
call fcn.18002d2c0
mov eax, dword [rbx]
mov dword [rbx + 0x30], ebp
mov dword [rbx + 0x1c], ebp
cmp byte [rdi + 0x224], bpl
je 0x18003ac0e
comiss xmm6, dword [rbx + 0x10]
jbe 0x18003abde
comiss xmm6, dword [rbx + 0x18]
jbe 0x18003abde
test sil, al
je 0x18003abde
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x18003abec
test byte [rdi + 0x60], 4
jne 0x18003abec
mov word [rbx + 0x63], bp
test al, 4
je 0x18003ac0e
test byte [rdi + 0x60], sil
jne 0x18003ac0e
bt eax, 0xf
mov word [rbx + 0x5a], bp
movzx eax, byte [rbx + 0x6d]
setb cl
and al, 0xfc
inc cl
or cl, al
mov byte [rbx + 0x6d], cl
add rdi, 0x188
mov word [rbx + 0x50], 0xffff
mov eax, dword [rdi]
test eax, eax
lea ecx, [rax - 1]
cmove cx, bp
lea rbp, [0x180060f2f]
sub ebp, r14d
mov word [rbx + 0x50], cx
mov eax, dword [rdi]
mov r14d, 1
mov edx, dword [rdi + 4]
test eax, eax
cmovne r14d, eax
lea ebx, [r14 + rbp]
cmp ebx, edx
jl 0x18003ac5c
add edx, edx
mov rcx, rdi
cmp ebx, edx
cmovg edx, ebx
call fcn.18001c2e0
mov ecx, dword [rdi + 4]
cmp ebx, ecx
jle 0x18003ac83
test ecx, ecx
je 0x18003ac72
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
add eax, ecx
jmp 0x18003ac74
mov eax, esi
cmp eax, ebx
mov edx, ebx
mov rcx, rdi
cmovg edx, eax
call fcn.18001c2e0
lea eax, [r14 - 1]
mov dword [rdi], ebx
movsxd rcx, eax
lea rdx, str.Module
add rcx, qword [rdi + 8]
movsxd r8, ebp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 8]
xor ebp, ebp
movsxd rcx, ebx
mov byte [rcx + rax - 1], 0
mov rax, qword [0x180073b20]
lea r14, str.Enabled
mov rdi, qword [rax + 0x4b10]
movsx rcx, word [rdi + 0x1f6]
cmp ecx, dword [rdi + 0x6c]
jge 0x18003ade8
imul rbx, rcx, 0x70
inc cx
xor r8d, r8d
add rbx, qword [rdi + 0x18]
mov word [rdi + 0x1f6], cx
mov rdx, rbx
mov rcx, rdi
call fcn.18002d2c0
mov eax, dword [rbx]
mov dword [rbx + 0x30], ebp
mov dword [rbx + 0x1c], ebp
cmp byte [rdi + 0x224], 0
je 0x18003ad4e
comiss xmm6, dword [rbx + 0x10]
jbe 0x18003ad1c
comiss xmm6, dword [rbx + 0x18]
jbe 0x18003ad1c
test sil, al
je 0x18003ad1c
mov dword [rbx + 0x18], 0xbf800000
test al, 2
je 0x18003ad2c
test byte [rdi + 0x60], 4
jne 0x18003ad2c
mov word [rbx + 0x63], 0
test al, 4
je 0x18003ad4e
test byte [rdi + 0x60], sil
jne 0x18003ad4e
bt eax, 0xf
mov word [rbx + 0x5a], bp
movzx eax, byte [rbx + 0x6d]
setb cl
and al, 0xfc
inc cl
or cl, al
mov byte [rbx + 0x6d], cl
add rdi, 0x188
mov word [rbx + 0x50], 0xffff
mov eax, dword [rdi]
test eax, eax
lea ecx, [rax - 1]
cmove cx, bp
lea rbp, str.true
sub ebp, r14d
mov word [rbx + 0x50], cx
mov eax, dword [rdi]
mov r14d, 1
mov edx, dword [rdi + 4]
test eax, eax
cmovne r14d, eax
lea ebx, [r14 + rbp]
cmp ebx, edx
jl 0x18003ad9c
add edx, edx
mov rcx, rdi
cmp ebx, edx
cmovg edx, ebx
call fcn.18001c2e0
mov ecx, dword [rdi + 4]
cmp ebx, ecx
jle 0x18003adc0
test ecx, ecx
je 0x18003adb1
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
lea esi, [rcx + rax]
cmp esi, ebx
mov edx, ebx
mov rcx, rdi
cmovg edx, esi
call fcn.18001c2e0
lea eax, [r14 - 1]
mov dword [rdi], ebx
movsxd rcx, eax
lea rdx, str.Enabled
add rcx, qword [rdi + 8]
movsxd r8, ebp
call sub.VCRUNTIME140.dll_memcpy
mov rax, qword [rdi + 8]
movsxd rcx, ebx
mov byte [rcx + rax - 1], 0
call fcn.1800317c0
xorps xmm1, xmm1
xor ecx, ecx
call fcn.18002f1b0
mov rax, qword [0x180073b20]
mov r14, qword [rsp + 0x48]
mov rcx, qword [rax + 0x4b10]
test rcx, rcx
je 0x18003ae27
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18003ae27
cmp eax, 0xffffffff
je 0x18003ae20
call fcn.18002fd90
xor edx, edx
call fcn.18002fbc0
lea rcx, str.Performance
call fcn.180034d30
mov rax, qword [0x180073b20]
mov rcx, qword [rax + 0x4b10]
test rcx, rcx
je 0x18003ae62
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18003ae62
cmp eax, 0xffffffff
je 0x18003ae58
call fcn.18002fd90
mov edx, 1
call fcn.18002fbc0
lea rdx, [0x1800700d3]
lea rcx, [0x180060f30]
call fcn.180036600
xorps xmm1, xmm1
xor ecx, ecx
call fcn.18002f1b0
mov rax, qword [0x180073b20]
mov rcx, qword [rax + 0x4b10]
test rcx, rcx
je 0x18003aeaa
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18003aeaa
cmp eax, 0xffffffff
je 0x18003aea3
call fcn.18002fd90
xor edx, edx
call fcn.18002fbc0
lea rcx, str.Vanilla2Deferred
call fcn.180034d30
mov rax, qword [0x180073b20]
mov rcx, qword [rax + 0x4b10]
test rcx, rcx
je 0x18003aee5
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18003aee5
cmp eax, 0xffffffff
je 0x18003aedb
call fcn.18002fd90
mov edx, 1
call fcn.18002fbc0
lea rdx, [0x1800700d2]
lea rcx, [0x180060f34]
call fcn.180036600
xorps xmm1, xmm1
xor ecx, ecx
call fcn.18002f1b0
mov rax, qword [0x180073b20]
mov rcx, qword [rax + 0x4b10]
test rcx, rcx
je 0x18003af2d
mov eax, dword [rcx + 0x74]
test eax, eax
je 0x18003af2d
cmp eax, 0xffffffff
je 0x18003af26
call fcn.18002fd90
xor edx, edx
call fcn.18002fbc0
lea rcx, str.MaterialBinLoader
call fcn.180034d30
mov rax, qword [0x180073b20]
mov rcx, qword [rax + 0x4b10]
test rcx, rcx
je 0x18003af68
mov eax, dword [rcx + 0x74]
cmp eax, 1
je 0x18003af68
cmp eax, 0xffffffff
je 0x18003af5e
call fcn.18002fd90
mov edx, 1
call fcn.18002fbc0
lea rdx, [0x1800700d6]
lea rcx, [0x180060f38]
call fcn.180036600
call fcn.18002e850
movaps xmm6, xmmword [rsp + 0x30]
call fcn.1800104a0
cmp byte [0x180073c20], 0
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x78]
je 0x18003aff1
test r15b, r15b
je 0x18003afb3
mov rax, qword [0x180073b20]
or dword [rax + 0x47a8], 0x20
xor r8d, r8d
lea rdx, [0x180073c20]
lea rcx, str.BetterRenderDragon___About
call fcn.18000e210
test al, al
je 0x18003afec
lea rdx, str.v1.3.5
lea rcx, str.BetterRenderDragon__s
call fcn.180034d30
lea rcx, str.https:__github.com_ddf8196_BetterRenderDragon
call fcn.180034d30
call fcn.1800104a0
cmp byte [0x180073c1d], 0
je 0x18003b050
test r12b, r12b
je 0x18003b00d
mov rax, qword [0x180073b20]
or dword [rax + 0x47a8], 0x20
xor r8d, r8d
lea rdx, [0x180073c1d]
lea rcx, str.BetterRenderDragon___Changelog
call fcn.18000e210
test al, al
je 0x18003b04b
lea rcx, str.V1.3.3_n_Support_1.20.1
call fcn.180034d30
lea rcx, str.V1.3.4_n_Support_1.20.10_n_No_longer_support_version_below_1.20.10
call fcn.180034d30
lea rcx, str.V1.3.5_n_Support_1.20.32_n_Fixed_ImGui_flickering_on_some_devices_n_Removed_Vanilla2Deferred_option
call fcn.180034d30
call fcn.1800104a0
call fcn.18000acd0
mov r15, qword [rsp + 0x40]
test r13b, r13b
mov r13, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x88]
je 0x18003b092
lea rcx, str.BetterRenderDragon
call fcn.18001a710
lea rcx, str.Dear_ImGui_Demo
add rsp, 0x68
jmp fcn.18001a710
add rsp, 0x68
ret