Function at 0x10038b80
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x88
mov eax, dword [0x1008d040]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
mov esi, dword [0x1008dcc0]
mov ebx, edx
push edi
mov dword [ebp - 0x6c], ebx
mov dword [ebp - 0x60], ecx
mov eax, dword [esi + 0x4fa4]
mov byte [eax + 0xb8], 1
mov eax, dword [esi + 0x4fa4]
mov edx, dword [esi + 0x592c]
mov dword [esi + 0x592c], 0
mov dword [ebp - 0x50], eax
cmp byte [eax + 0xbb], 0
mov dword [ebp - 0x84], edx
jne 0x1003934e
push ecx
push ecx
mov ecx, eax
call fcn.100097a0
mov edx, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp + 8]
mov ecx, eax
and ecx, 0x60
mov dword [ebp - 0x58], edx
cmp cl, 0x60
jne 0x10038c19
push 0x690
push str.C:UsersPCDesktopVisual_StudioVisual_StudioImguiimgui_widgets.cpp
push str._flags___ImGuiComboFlags_NoArrowButton__ImGuiComboFlags_NoPreview______ImGuiComboFlags_NoArrowButton__ImGuiComboFlags_NoPreview_
call edx
mov eax, dword [ebp + 8]
add esp, 0xc
mov edx, dword [ebp - 0x58]
test eax, 0x100040
setne cl
test al, 0x80
setne al
test al, cl
je 0x10038c3e
push 0x692
push str.C:UsersPCDesktopVisual_StudioVisual_StudioImguiimgui_widgets.cpp
push str._flags___ImGuiComboFlags_NoPreview__ImGuiComboFlags_CustomPreview____0
call edx
add esp, 0xc
mov eax, dword [ebp + 8]
xorps xmm3, xmm3
mov edi, dword [0x1008dcc0]
and eax, 0x20
mov dword [ebp - 0x48], eax
je 0x10038c59
movss dword [ebp - 0x44], xmm3
jmp 0x10038c72
movss xmm0, dword [edi + 0x48f8]
addss xmm0, xmm0
addss xmm0, dword [edi + 0x4d04]
movss dword [ebp - 0x44], xmm0
mov eax, dword [ebp - 0x60]
mov ecx, eax
cmp eax, 0xffffffff
jae 0x10038c96
nop dword [eax]
mov dl, byte [ecx]
test dl, dl
je 0x10038c96
cmp dl, 0x23
jne 0x10038c90
cmp byte [ecx + 1], dl
je 0x10038c96
inc ecx
cmp ecx, 0xffffffff
jb 0x10038c80
movss xmm2, dword [edi + 0x4d04]
movss xmm0, dword [0x10089804]
movss dword [ebp - 0x30], xmm2
cmp eax, ecx
jne 0x10038cb6
movss dword [ebp - 0x5c], xmm3
jmp 0x10038d0c
push 0
push ecx
push eax
push ecx
mov ecx, dword [edi + 0x4d00]
lea eax, [ebp - 0x38]
mov dword [esp], 0xbf800000
movaps xmm3, xmm0
push eax
call fcn.10031750
movss xmm0, dword [ebp - 0x38]
xorps xmm3, xmm3
addss xmm0, dword [0x10089690]
mov edi, dword [0x1008dcc0]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x5c], xmm0
movss xmm0, dword [ebp - 0x34]
movss dword [ebp - 0x30], xmm0
movss xmm0, dword [0x10089804]
mov eax, dword [ebp + 8]
mov ecx, eax
and ecx, 0x80
mov dword [ebp - 0x34], ecx
je 0x10038d9b
test ebx, ebx
je 0x10038d9b
mov ecx, ebx
cmp ebx, 0xffffffff
jae 0x10038d90
mov dl, byte [ecx]
test dl, dl
je 0x10038d3d
cmp dl, 0x23
jne 0x10038d37
cmp byte [ecx + 1], dl
je 0x10038d3d
inc ecx
cmp ecx, 0xffffffff
jb 0x10038d27
cmp ebx, ecx
je 0x10038d90
movss xmm2, dword [edi + 0x4d04]
lea eax, [ebp - 0x10]
push 0
push ecx
push ebx
push ecx
mov ecx, dword [edi + 0x4d00]
movaps xmm3, xmm0
mov dword [esp], 0xbf800000
push eax
call fcn.10031750
movss xmm0, dword [ebp - 0x10]
xorps xmm3, xmm3
addss xmm0, dword [0x10089690]
mov edi, dword [0x1008dcc0]
mov ecx, dword [ebp - 0x34]
cvttss2si eax, xmm0
movd xmm1, eax
mov eax, dword [ebp + 8]
cvtdq2ps xmm1, xmm1
jmp 0x10038d9e
mov eax, dword [ebp + 8]
movaps xmm1, xmm3
mov ecx, dword [ebp - 0x34]
jmp 0x10038d9e
movaps xmm1, xmm3
and eax, 0x40
mov dword [ebp - 0x74], eax
je 0x10038db0
movss xmm0, dword [ebp - 0x44]
jmp 0x10038e36
test ecx, ecx
je 0x10038dcb
movss xmm0, dword [esi + 0x48f4]
addss xmm1, dword [ebp - 0x44]
addss xmm0, xmm0
addss xmm0, xmm1
jmp 0x10038e36
test byte [edi + 0x58d0], 1
mov eax, dword [edi + 0x4fa4]
je 0x10038de4
movss xmm1, dword [edi + 0x58d8]
jmp 0x10038dec
movss xmm1, dword [eax + 0x1b0]
comiss xmm3, xmm1
jbe 0x10038e2b
cmp dword [eax + 0x1a0], 0
jne 0x10038e09
cmp dword [edi + 0x5c94], 0
lea ecx, [eax + 0x238]
je 0x10038e0f
lea ecx, [eax + 0x208]
movss xmm0, dword [ecx]
subss xmm0, dword [eax + 0x100]
addss xmm0, xmm1
movss xmm1, dword [0x10089698]
maxss xmm1, xmm0
cvttss2si eax, xmm1
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mov eax, dword [ebp - 0x50]
movss xmm6, dword [esi + 0x48f8]
movss xmm2, dword [ebp - 0x5c]
comiss xmm2, xmm3
movss xmm4, dword [eax + 0x100]
movss xmm5, dword [eax + 0x104]
movaps xmm1, xmm4
addss xmm1, xmm0
movss dword [ebp - 0x64], xmm0
movaps xmm0, xmm6
movss dword [ebp - 0x28], xmm4
addss xmm0, xmm6
movss dword [ebp - 0x24], xmm5
movss dword [ebp - 0x20], xmm1
addss xmm0, dword [ebp - 0x30]
addss xmm0, xmm5
movss dword [ebp - 0x1c], xmm0
jbe 0x10038e95
addss xmm2, dword [esi + 0x490c]
jmp 0x10038e98
movaps xmm2, xmm3
addss xmm1, xmm2
movss dword [ebp - 0x18], xmm4
addss xmm0, xmm3
movss dword [ebp - 0x14], xmm5
lea ecx, [ebp - 0x38]
movss dword [ebp - 0x10], xmm1
subss xmm1, xmm4
movss dword [ebp - 0xc], xmm0
subss xmm0, xmm5
movss dword [ebp - 0x38], xmm1
movaps xmm1, xmm6
movss dword [ebp - 0x34], xmm0
call fcn.10017480
mov ebx, dword [ebp - 0x3c]
lea eax, [ebp - 0x28]
push 0
push eax
mov edx, ebx
lea ecx, [ebp - 0x18]
call fcn.100175e0
add esp, 8
test al, al
je 0x1003934e
push 0
lea eax, [ebp - 0x2b]
mov edx, ebx
push eax
lea eax, [ebp - 0x2a]
push eax
lea ecx, [ebp - 0x28]
call fcn.10035c40
mov edi, ebx
mov byte [ebp - 0x2b], al
not edi
add esp, 0xc
mov ebx, edi
mov al, 0x23
mov edx, 0x1007f561
cmp al, 0x23
jne 0x10038f24
cmp byte [edx], al
jne 0x10038f24
cmp byte [edx + 1], al
cmove ebx, edi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x10077080]
test al, al
jne 0x10038f16
mov eax, dword [0x1008dcc0]
not ebx
mov dword [ebp - 0x34], eax
mov edi, dword [eax + 0x59ec]
cmp dword [eax + 0x59e0], edi
jle 0x10038f83
test edi, edi
jns 0x10038f71
push 0x768
push str.C:UsersPCDesktopVisual_StudioVisual_StudioImguiimgui.h
push str.i___0__i___Size
call dword [ebp - 0x58]
mov eax, dword [ebp - 0x34]
add esp, 0xc
mov eax, dword [eax + 0x59e8]
lea ecx, [edi + edi*4]
cmp dword [eax + ecx*8], ebx
jne 0x10038f83
mov al, 1
jmp 0x10038f85
xor al, al
cmp byte [ebp - 0x2b], 0
mov byte [ebp - 0x29], al
je 0x10038f9f
test al, al
jne 0x10038f9f
xor edx, edx
mov ecx, ebx
call fcn.10018c80
mov byte [ebp - 0x29], 1
movss xmm1, dword [0x10089698]
xor ecx, ecx
cmp byte [ebp - 0x2a], cl
setne cl
add ecx, 7
call fcn.10007770
movss xmm0, dword [ebp - 0x20]
lea ecx, [ebp - 0x28]
movss xmm1, dword [ebp - 0x28]
mov edi, eax
mov eax, dword [ebp - 0x3c]
mov edx, eax
movss dword [ebp - 0x34], xmm0
subss xmm0, dword [ebp - 0x44]
movss dword [ebp - 0x7c], xmm1
push 1
maxss xmm1, xmm0
movss dword [ebp - 0x30], xmm1
call fcn.10008540
movss xmm1, dword [ebp - 0x1c]
add esp, 4
cmp dword [ebp - 0x74], 0
mov ecx, 0xf0
movss dword [ebp - 0xc], xmm1
jne 0x10039043
cmp dword [ebp - 0x48], 0
mov eax, 0x50
movss xmm0, dword [ebp - 0x30]
cmovne eax, ecx
movss dword [ebp - 0x40], xmm0
movss xmm0, dword [esi + 0x48fc]
push eax
push ecx
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x40]
movss dword [esp], xmm0
push edi
push eax
mov ecx, dword [ecx + 0x274]
lea eax, [ebp - 0x28]
push eax
movss dword [ebp - 0x3c], xmm1
call fcn.1002c380
cmp dword [ebp - 0x48], 0
movss xmm7, dword [ebp - 0x24]
movss dword [ebp - 0x3c], xmm7
jne 0x100391b7
cmp byte [ebp - 0x29], 0
jne 0x10039068
cmp byte [ebp - 0x2a], 0
mov edx, 0x15
je 0x1003906d
mov edx, 0x16
movss xmm1, dword [0x10089698]
xor ecx, ecx
call fcn.10007770
movss xmm0, dword [ebp - 0x30]
mov edi, eax
movss xmm1, dword [0x10089698]
mov eax, 0xf0
movss dword [ebp - 0x4c], xmm0
mov ecx, 0xa0
movss xmm0, dword [ebp - 0x44]
comiss xmm0, dword [ebp - 0x64]
movss xmm0, dword [esi + 0x48fc]
movss dword [ebp - 0x48], xmm7
cmovae ecx, eax
push ecx
push ecx
mov ecx, edx
movss dword [esp], xmm0
call fcn.10007770
push eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x274]
call fcn.1002c380
movss xmm1, dword [ebp - 0x30]
movss xmm2, dword [ebp - 0x34]
movaps xmm0, xmm1
addss xmm0, dword [ebp - 0x44]
subss xmm0, dword [esi + 0x48f4]
comiss xmm2, xmm0
jb 0x100391b7
mov eax, dword [ebp - 0x50]
movss xmm0, dword [esi + 0x48f8]
movss xmm6, dword [ebp - 0x3c]
movaps xmm5, xmm0
addss xmm6, xmm0
mov ecx, dword [eax + 0x274]
addss xmm5, xmm1
push edi
mov eax, dword [ecx + 0x2c]
movss xmm0, dword [eax + 0xc]
lea eax, [ebp - 0x4c]
movaps xmm4, xmm0
mulss xmm0, dword [0x10089658]
push eax
mulss xmm4, dword [0x10089650]
lea eax, [ebp - 0x68]
push eax
addss xmm5, xmm0
addss xmm6, xmm0
movaps xmm2, xmm4
lea eax, [ebp - 0x54]
mulss xmm2, dword [0x100895e8]
movaps xmm3, xmm4
push eax
mulss xmm3, dword [0x10089678]
movaps xmm1, xmm4
mulss xmm1, dword [0x1008982c]
movaps xmm0, xmm4
mulss xmm0, dword [0x10089684]
addss xmm2, xmm5
mulss xmm4, dword [0x10089828]
addss xmm3, xmm6
addss xmm0, xmm5
addss xmm1, xmm5
movss dword [ebp - 0x54], xmm2
addss xmm4, xmm6
movss dword [ebp - 0x50], xmm3
movss dword [ebp - 0x4c], xmm0
movss dword [ebp - 0x68], xmm1
movss dword [ebp - 0x48], xmm4
movss dword [ebp - 0x64], xmm4
call fcn.1002c780
push dword [ebp - 0x1c]
movss xmm0, dword [esi + 0x48fc]
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x28]
call fcn.10008340
mov edi, dword [ebp + 8]
add esp, 0x10
test edi, 0x100000
je 0x10039240
movss xmm0, dword [ebp - 0x7c]
movss xmm1, dword [ebp - 0x30]
movss dword [esi + 0x6c58], xmm0
movss xmm0, dword [ebp - 0x3c]
movss dword [esi + 0x6c5c], xmm0
movss dword [esi + 0x6c60], xmm1
movss xmm1, dword [ebp - 0xc]
movss dword [esi + 0x6c64], xmm1
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x100392db
cmp byte [ecx], 0
je 0x100392db
push 0x6bd
push str.C:UsersPCDesktopVisual_StudioVisual_StudioImguiimgui_widgets.cpp
push str.preview_value__0__preview_value_0___0
call dword [ebp - 0x58]
add esp, 0xc
jmp 0x100392d6
mov ecx, dword [ebp - 0x6c]
test ecx, ecx
je 0x100392d6
cmp dword [ebp - 0x74], 0
jne 0x100392d6
cmp byte [esi + 0x6dc0], 0
je 0x10039277
mov eax, dword [0x1008dcc0]
mov dword [eax + 0x6dd8], 0x1007f5cc
mov dword [eax + 0x6ddc], 0x1007f5c8
movss xmm0, dword [ebp - 0x7c]
lea eax, [ebp - 0x78]
addss xmm0, dword [esi + 0x48f4]
movss xmm1, dword [ebp - 0xc]
lea edx, [ebp - 0x80]
push 0
push eax
push 0
movss dword [ebp - 0x70], xmm0
movss xmm0, dword [ebp - 0x3c]
addss xmm0, dword [esi + 0x48f8]
push 0
push ecx
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x74], 0
movss dword [ebp - 0x6c], xmm0
movss xmm0, dword [ebp - 0x30]
movss dword [ebp - 0x80], xmm0
movss dword [ebp - 0x7c], xmm1
call fcn.10007af0
add esp, 0x14
movss xmm0, dword [ebp - 0x3c]
movss xmm1, dword [ebp - 0x5c]
comiss xmm1, dword [0x100895e8]
jbe 0x1003931d
movss xmm1, dword [ebp - 0x34]
xor edx, edx
addss xmm0, dword [esi + 0x48f8]
addss xmm1, dword [esi + 0x490c]
mov ecx, dword [ebp - 0x60]
movss dword [ebp - 0x34], xmm0
push dword [ebp - 0x34]
movss dword [ebp - 0x38], xmm1
push dword [ebp - 0x38]
push 1
call fcn.10007a40
add esp, 0xc
cmp byte [ebp - 0x29], 0
je 0x1003934e
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x28]
push edi
mov ecx, ebx
mov dword [esi + 0x592c], eax
call fcn.10039370
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 8]
xor ecx, ebp
call fcn.1006eb52
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 8]
xor al, al
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1006eb52
mov esp, ebp
pop ebp
ret