Function at 0x140022a70
Capabilities:
Hash data with crc32

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rdi, qword [0x140196dd0]
mov ebx, r9d
movaps xmmword [rsp + 0x50], xmm6
mov r14d, edx
mov r12, rcx
mov r13, qword [rdi + 0x4040]
test edx, edx
jne 0x140022ac3
mov r8d, 0x158b
lea rdx, str.C:UsersShovenDesktopmenuimgui.cpp
lea rcx, str.id___0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test ebx, 0xffffff00
je 0x140022ae5
mov r8d, 0x1590
lea rdx, str.C:UsersShovenDesktopmenuimgui.cpp
lea rcx, str._child_flags__ImGuiChildFlags_SupportedMask____0___Illegal_ImGuiChildFlags_value._Did_you_pass_ImGuiWindowFlags_values_instead_of_ImGuiChildFlags__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov r15d, dword [rsp + 0xc0]
test r15b, 0x40
je 0x140022b0d
mov r8d, 0x1591
lea rdx, str.C:UsersShovenDesktopmenuimgui.cpp
lea rcx, str._window_flags__ImGuiWindowFlags_AlwaysAutoResize___0___Cannot_specify_ImGuiWindowFlags_AlwaysAutoResize_for_BeginChild__._Use_ImGuiChildFlags_AlwaysAutoResize__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test bl, 0x40
je 0x140022b50
test bl, 0xc
je 0x140022b31
mov r8d, 0x1594
lea rdx, str.C:UsersShovenDesktopmenuimgui.cpp
lea rcx, str._child_flags___ImGuiChildFlags_ResizeX__ImGuiChildFlags_ResizeY____0___Cannot_use_ImGuiChildFlags_ResizeX_or_ImGuiChildFlags_ResizeY_with_ImGuiChildFlags_AlwaysAutoResize__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
test bl, 0x30
jne 0x140022b50
mov r8d, 0x1595
lea rdx, str.C:UsersShovenDesktopmenuimgui.cpp
lea rcx, str._child_flags___ImGuiChildFlags_AutoResizeX__ImGuiChildFlags_AutoResizeY_____0___Must_use_ImGuiChildFlags_AutoResizeX_or_ImGuiChildFlags_AutoResizeY_with_ImGuiChildFlags_AlwaysAutoResize__
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov ecx, ebx
mov eax, r15d
or ecx, 2
mov ebp, 0x1000041
and eax, 0x40000000
cmove ecx, ebx
mov eax, ecx
mov edx, ecx
and edx, 0xfffffffb
and al, 0x10
cmove edx, ecx
mov eax, edx
mov esi, edx
and esi, 0xfffffff7
and al, 0x20
mov eax, 0x1000001
cmove esi, edx
test sil, 0x70
cmove ebp, eax
mov eax, dword [r13 + 0x14]
and eax, 4
or ebp, eax
or ebp, r15d
test sil, 0xc
jne 0x140022ba1
or ebp, 0x102
test sil, sil
jns 0x140022c63
mov rbx, qword [0x140196dd0]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], 3
movups xmm0, xmmword [rbx + 0x3a10]
lea rcx, [rbx + 0x4ac0]
movups xmmword [rsp + 0x34], xmm0
call fcn.1400388a0
cmp dword [rbx + 0x4abc], 3
je 0x140022bed
movups xmm0, xmmword [rdi + 0x3a50]
movups xmmword [rbx + 0x3a10], xmm0
movss xmm1, dword [rdi + 0x392c]
mov ecx, 7
call fcn.14001c1b0
movss xmm1, dword [rdi + 0x3930]
mov ecx, 8
call fcn.14001c1b0
mov rbx, qword [0x140196dd0]
lea rdx, [rsp + 0x30]
mov dword [rsp + 0x30], 2
movss xmm0, dword [rbx + 0x38f0]
lea rcx, [rbx + 0x4ad0]
movss xmm1, dword [rbx + 0x38f4]
movss dword [rsp + 0x34], xmm0
movss dword [rsp + 0x38], xmm1
call fcn.1400387e0
movsd xmm0, qword [rdi + 0x3924]
or esi, 3
movsd qword [rbx + 0x38f0], xmm0
or ebp, 4
or dword [rdi + 0x4a48], 0x100
mov r15d, 0x260
mov r9, qword [0x140196dd0]
mov dword [rdi + 0x4a80], esi
mov rdx, qword [r9 + 0x4040]
cmp qword [rdx + 0x1b8], 0
jne 0x140022c9e
cmp qword [r9 + 0x4e38], 0
mov eax, r15d
je 0x140022ca3
mov eax, 0x230
movss xmm0, dword [rdx + rax]
xorps xmm2, xmm2
movss xmm3, dword [rdx + rax + 4]
subss xmm0, dword [rdx + 0x110]
subss xmm3, dword [rdx + 0x114]
test sil, 0x20
je 0x140022cca
xorps xmm3, xmm3
test sil, 0x10
jne 0x140022cd3
movaps xmm2, xmm0
mov rdx, qword [rsp + 0xb0]
lea rcx, [rsp + 0xa0]
mov rdx, qword [rdx]
call fcn.14002ec60
or dword [r9 + 0x4a48], 2
lea rcx, [rsp + 0xa0]
movsd xmm3, qword [rsp + 0xa0]
xor edx, edx
movsd qword [r9 + 0x4a68], xmm3
mov dword [r9 + 0x4a50], 1
mov r9, qword [r13 + 8]
test r12, r12
je 0x140022d3b
mov dword [rsp + 0x28], r14d
lea r8, str._s__s__08X
mov qword [rsp + 0x20], r12
call fcn.14001b390
jmp 0x140022d4c
lea r8, str._s__08X
mov dword [rsp + 0x20], r14d
call fcn.14001b390
movss xmm6, dword [rdi + 0x3918]
test sil, 1
jne 0x140022d64
mov dword [rdi + 0x3918], 0
mov rcx, qword [rsp + 0xa0]
mov r8d, ebp
xor edx, edx
call fcn.1400265a0
movss dword [rdi + 0x3918], xmm6
movzx r12d, al
test sil, sil
jns 0x140022d96
mov ecx, 3
call fcn.14001c280
call fcn.14001c0c0
mov rsi, qword [rdi + 0x4040]
cmp word [rsi + 0xcc], 1
mov dword [rsi + 0x88], r14d
jne 0x140022dbc
movsd xmm0, qword [rsi + 0x28]
movsd qword [r13 + 0x110], xmm0
mov r9d, r14d
lea rdx, [0x140151181]
not r9d
lea r10, [0x140155e20]
mov ebx, r9d
mov r8b, reloc.WLDAP32.dll_Ordinal_35
cmp r8b, 0x23
jne 0x140022de9
cmp byte [rdx], r8b
jne 0x140022de9
cmp byte [rdx + 1], r8b
cmove ebx, r9d
movzx ecx, bl
movzx eax, r8b
movzx r8d, byte [rdx]
xor rcx, rax
shr ebx, 8
inc rdx
xor ebx, dword [r10 + rcx*4]
test r8b, r8b
jne 0x140022dd6
not ebx
cmp dword [rdi + 0x40a4], ebx
jne 0x140022e19
xor edx, edx
xor ecx, ecx
call fcn.14001e9d0
cmp dword [rdi + 0x4b80], r14d
jne 0x140022e65
bt ebp, 0x17
jb 0x140022e65
cmp word [rsi + 0x16c], 0
jne 0x140022e3b
cmp byte [rsi + 0x172], 0
je 0x140022e65
xor edx, edx
mov rcx, rsi
call fcn.140029720
xor edx, edx
mov rcx, rsi
call fcn.1400323c0
mov rdx, rsi
mov ecx, ebx
call fcn.14001e9d0
mov eax, dword [rdi + 0x4bac]
mov dword [rdi + 0x40d0], eax
mov r8, qword [0x140196dd0]
lea rcx, [rsp + 0x30]
movaps xmm0, xmmword [0x14016c300]
movups xmmword [rsp + 0x30], xmm0
mov rax, qword [r8 + 0x4040]
mov byte [rax + 0xc0], 1
mov r9, qword [r8 + 0x4040]
mov r10, qword [r9 + 0x2a8]
call fcn.14001b990
cmp qword [r9 + 0x1b8], 0
jne 0x140022eb2
cmp qword [r8 + 0x4e38], 0
je 0x140022eb8
mov r15d, 0x230
movss xmm0, dword [r9 + 0x110]
lea r8, [rsp + 0xa0]
movss xmm1, dword [r9 + r15]
lea rdx, [rsp + 0x30]
movss xmm2, dword [r9 + 0x114]
subss xmm1, xmm0
movss xmm3, dword [r9 + r15 + 4]
mov rcx, r10
subss xmm3, xmm2
mov dword [rsp + 0x28], 0
addss xmm1, xmm0
movsd xmm0, qword [r9 + 0x110]
mov r9d, eax
movsd qword [rsp + 0x30], xmm0
addss xmm3, xmm2
movss dword [rsp + 0xa0], xmm1
movss xmm1, dword [0x14016bd14]
movss dword [rsp + 0x20], xmm1
movss dword [rsp + 0xa4], xmm3
call fcn.140043d30
mov rbx, qword [rsp + 0xa8]
movzx eax, r12b
movaps xmm6, xmmword [rsp + 0x50]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret