Function at 0x14005f660
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r14
push r15
sub rsp, 0x50
mov rdi, rcx
cmp byte [rcx + 9], 0
je 0x14005f972
lea r8, str.SETTINGS_DIALOG_TITLE
lea rdx, [rsp + 0x30]
call fcn.14002a2b0
nop
mov rcx, rax
call fcn.140022060
mov rcx, rax
xor r8d, r8d
lea rdx, [rdi + 9]
call fcn.1400b65c0
movzx esi, al
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14005f6d0
mov rcx, rbx
call fcn.1400034d0
mov edx, Ordinal_33
mov rcx, rbx
call fcn.14014d400
test sil, sil
je 0x14005f972
movsd xmm0, qword [rdi]
movsd qword [rsp + 0x20], xmm0
movzx r15d, word [rdi + 8]
mov rbp, qword [0x140337070]
mov r14, qword [rbp + 0x4018]
cmp byte [r14 + 0xf0], 0
jne 0x14005f910
movsxd rcx, dword [r14 + 0x128]
mov rax, qword [r14 + 0x130]
mov r9d, dword [rax + rcx*4 - 4]
not r9d
mov ebx, r9d
mov r8b, 0x23
lea rdx, [0x140301631]
lea r10, [0x1402dd1e0]
nop
cmp r8b, 0x23
jne 0x14005f743
cmp byte [rdx], r8b
jne 0x14005f743
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
xor rcx, rax
shr ebx, 8
xor ebx, dword [r10 + rcx*4]
movzx r8d, byte [rdx]
inc rdx
test r8b, r8b
jne 0x14005f730
not ebx
mov rax, qword [r14]
cmp dword [rax + 0x4060], ebx
jne 0x14005f780
lea r8, str.SettingCategoryTabs
mov edx, 0xb
mov ecx, ebx
call fcn.1400cf800
lea rcx, [rbp + 0x4d90]
mov edx, ebx
call fcn.1400ab590
mov rdx, rax
movsxd rcx, dword [rax]
cmp ecx, 0xffffffff
je 0x14005f7a9
imul rax, rcx, 0x98
add rax, qword [rbp + 0x4d88]
jmp 0x14005f7bd
mov eax, dword [rbp + 0x4da0]
mov dword [rdx], eax
lea rcx, [rbp + 0x4d80]
call fcn.1400a8d30
movss xmm2, dword [r14 + 0x13c]
movss xmm0, dword [rbp + 0x3918]
movaps xmm3, xmm2
addss xmm3, dword [rbp + 0x3d50]
addss xmm0, xmm0
addss xmm3, xmm0
movss xmm1, dword [r14 + 0x258]
movss xmm0, dword [r14 + 0x138]
movss dword [rsp + 0x30], xmm0
movss dword [rsp + 0x34], xmm2
movss dword [rsp + 0x38], xmm1
movss dword [rsp + 0x3c], xmm3
mov dword [rax + 0x14], ebx
xor r9d, r9d
mov r8d, 0x200000
lea rdx, [rsp + 0x30]
mov rcx, rax
call fcn.1400a53d0
test al, al
je 0x14005f910
mov rcx, rdi
call fcn.14005e840
lea r8, str.SETTINGS_DIALOG_HITMAN4_GROUP
lea rdx, [rsp + 0x30]
call fcn.140061510
nop
mov rcx, rax
call fcn.140022060
mov rcx, rax
call fcn.1400a7250
movzx esi, al
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14005f878
mov rcx, rbx
call fcn.1400034d0
mov edx, Ordinal_33
mov rcx, rbx
call fcn.14014d400
test sil, sil
je 0x14005f90b
lea r8, str.SETTINGS_DIALOG_HITMAN4_EXPORT_WITH_LIP_DATA
lea rdx, [rsp + 0x30]
call fcn.14003c8f0
nop
mov rcx, rax
call fcn.140022060
mov rcx, rax
lea rdx, [rdi + 8]
call fcn.1400a06b0
nop
mov rbx, qword [rsp + 0x40]
test rbx, rbx
je 0x14005f8c7
mov rcx, rbx
call fcn.1400034d0
mov edx, Ordinal_33
mov rcx, rbx
call fcn.14014d400
mov rdx, qword [0x140337070]
mov rax, qword [rdx + 0x4018]
cmp byte [rax + 0xf0], 0
jne 0x14005f90b
mov r8, qword [rdx + 0x4d78]
test r8, r8
je 0x14005f90b
movsx rax, word [r8 + 0x70]
imul rcx, rax, 0x38
mov rax, qword [r8 + 8]
test byte [rcx + rax + 4], 8
jne 0x14005f90b
mov rax, qword [rdx + 0x4018]
dec dword [rax + 0x128]
call fcn.1400a57b0
movzx eax, byte [rdi]
cmp byte [rsp + 0x20], al
jne 0x14005f965
movzx eax, byte [rdi + 1]
cmp byte [rsp + 0x21], al
jne 0x14005f965
movzx eax, byte [rdi + 2]
cmp byte [rsp + 0x22], al
jne 0x14005f965
movzx eax, byte [rdi + 3]
cmp byte [rsp + 0x23], al
jne 0x14005f965
movzx eax, byte [rdi + 4]
cmp byte [rsp + 0x24], al
jne 0x14005f965
movzx eax, byte [rdi + 5]
cmp byte [rsp + 0x25], al
jne 0x14005f965
movzx eax, byte [rdi + 6]
cmp byte [rsp + 0x26], al
jne 0x14005f965
movzx eax, byte [rdi + 7]
cmp byte [rsp + 0x27], al
jne 0x14005f965
cmp r15b, byte [rdi + 8]
je 0x14005f96d
mov rcx, rdi
call fcn.14005f2c0
call fcn.1400b90b0
mov rbx, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x80]
add rsp, 0x50
pop r15
pop r14
pop rdi
ret