Function at 0x40c800
Capabilities:
Hash data with crc32

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x30
push ebx
push esi
mov esi, dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov eax, edx
mov dword [ebp - 8], eax
mov dword [ebp - 0x10], ecx
push edi
mov edi, dword [0x4c9b64]
mov edx, dword [edi + 0x3f88]
mov dword [ebp - 0xc], edx
test eax, eax
jne 0x40c83e
push 0x1529
push str.....imgui.cpp
push str.id___0
call esi
add esp, 0xc
mov ebx, dword [ebp + 0xc]
test ebx, 0xffffff00
je 0x40c85d
push 0x152e
push str.....imgui.cpp
push str._child_flags__ImGuiChildFlags_SupportedMask____0___Illegal_ImGuiChildFlags_value._Did_you_pass_ImGuiWindowFlags_values_instead_of_ImGuiChildFlags__
call esi
add esp, 0xc
test byte [ebp + 0x10], 0x40
je 0x40c877
push 0x152f
push str.....imgui.cpp
push str._window_flags__ImGuiWindowFlags_AlwaysAutoResize___0___Cannot_specify_ImGuiWindowFlags_AlwaysAutoResize_for_BeginChild__._Use_ImGuiChildFlags_AlwaysAutoResize__
call esi
add esp, 0xc
test bl, 0x40
je 0x40c8ae
test bl, 0xc
je 0x40c895
push 0x1532
push str.....imgui.cpp
push str._child_flags___ImGuiChildFlags_ResizeX__ImGuiChildFlags_ResizeY____0___Cannot_use_ImGuiChildFlags_ResizeX_or_ImGuiChildFlags_ResizeY_with_ImGuiChildFlags_AlwaysAutoResize__
call esi
add esp, 0xc
test bl, 0x30
jne 0x40c8ae
push 0x1533
push str.....imgui.cpp
push str._child_flags___ImGuiChildFlags_AutoResizeX__ImGuiChildFlags_AutoResizeY_____0___Must_use_ImGuiChildFlags_AutoResizeX_or_ImGuiChildFlags_AutoResizeY_with_ImGuiChildFlags_AlwaysAutoResize__
call esi
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov ecx, ebx
mov esi, dword [ebp - 0xc]
or ecx, 2
and eax, 0x40000000
cmove ecx, ebx
mov eax, ecx
mov edx, ecx
and edx, 0xfffffffb
and al, 0x10
cmove edx, ecx
mov ecx, dword [esi + 0xc]
mov eax, edx
mov ebx, edx
and ebx, 0xfffffff7
and al, 0x20
cmove ebx, edx
and ecx, 4
or ecx, dword [ebp + 0x10]
mov eax, ebx
or ecx, 0x1000001
mov edx, ecx
or edx, 0x40
and al, 0x70
mov eax, ebx
cmove edx, ecx
mov ecx, edx
or ecx, 0x102
and al, 0xc
cmovne ecx, edx
mov dword [ebp + 0xc], ecx
test bl, bl
jns 0x40ca36
mov esi, dword [0x4c9b64]
lea eax, [ebp - 0x30]
push eax
mov dword [ebp - 0x30], 3
movups xmm0, xmmword [esi + 0x39bc]
lea ecx, [esi + 0x4988]
movups xmmword [ebp - 0x2c], xmm0
call fcn.0042a150
cmp dword [esi + 0x4984], 3
je 0x40c94c
movups xmm0, xmmword [edi + 0x39fc]
movups xmmword [esi + 0x39bc], xmm0
mov esi, dword [0x4c9b64]
lea eax, [ebp - 0x28]
movss xmm0, dword [edi + 0x38ec]
movss dword [ebp + 0x10], xmm0
push eax
movss xmm0, dword [esi + 0x38d4]
lea ecx, [esi + 0x4994]
mov dword [ebp - 0x28], 7
movss dword [ebp - 0x24], xmm0
call fcn.0042a0c0
movss xmm0, dword [ebp + 0x10]
lea eax, [ebp - 0x28]
movss dword [esi + 0x38d4], xmm0
mov esi, dword [0x4c9b64]
movss xmm0, dword [edi + 0x38f0]
movss dword [ebp + 0x10], xmm0
push eax
movss xmm0, dword [esi + 0x38d8]
lea ecx, [esi + 0x4994]
mov dword [ebp - 0x28], 8
movss dword [ebp - 0x24], xmm0
call fcn.0042a0c0
movss xmm0, dword [ebp + 0x10]
movss dword [esi + 0x38d8], xmm0
mov esi, dword [0x4c9b64]
mov dword [ebp - 0x28], 2
mov eax, dword [esi + 0x38b0]
lea ecx, [esi + 0x4994]
mov dword [ebp - 0x1c], eax
mov eax, dword [esi + 0x38b4]
movss xmm0, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x28]
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [ebp - 0x18]
push eax
movss dword [ebp - 0x20], xmm0
call fcn.0042a0c0
mov eax, dword [edi + 0x38e4]
or ebx, 3
or dword [ebp + 0xc], 4
mov dword [esi + 0x38b0], eax
mov eax, dword [edi + 0x38e8]
mov dword [esi + 0x38b4], eax
mov esi, dword [ebp - 0xc]
mov eax, dword [0x4c9b64]
or dword [edi + 0x491c], 0x100
mov dword [edi + 0x4954], ebx
mov ecx, dword [eax + 0x3f88]
mov edx, ecx
cmp dword [edx + 0x198], 0
jne 0x40ca6a
cmp dword [eax + 0x4c94], 0
mov ecx, 0x230
je 0x40ca6f
mov ecx, 0x200
mov eax, dword [ecx + edx]
xorps xmm1, xmm1
mov dword [ebp - 0x1c], eax
mov eax, dword [ecx + edx + 4]
movss xmm0, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
mov eax, edx
movss xmm2, dword [ebp - 0x18]
subss xmm0, dword [eax + 0xf8]
subss xmm2, dword [eax + 0xfc]
test bl, 0x20
je 0x40caa3
movaps xmm2, xmm1
test bl, 0x10
jne 0x40caab
movaps xmm1, xmm0
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x1c]
push dword [eax + 4]
push dword [eax]
call fcn.004177e0
mov ecx, dword [0x4c9b64]
add esp, 8
mov eax, dword [ebp - 0x1c]
or dword [ecx + 0x491c], 2
mov dword [ecx + 0x493c], eax
mov eax, dword [ebp - 0x18]
mov dword [ecx + 0x4940], eax
mov eax, dword [ebp - 8]
mov dword [ecx + 0x4924], 1
mov ecx, dword [ebp - 0x10]
push eax
lea eax, [ebp + 0x10]
test ecx, ecx
je 0x40cb0b
push ecx
push dword [esi + 4]
push str._s__s__08X
push 0
push eax
call fcn.004043b0
add esp, 0x18
jmp 0x40cb1e
push dword [esi + 4]
push str._s__08X
push 0
push eax
call fcn.004043b0
add esp, 0x14
movss xmm0, dword [edi + 0x38d8]
movss dword [ebp - 0x10], xmm0
test bl, 1
jne 0x40cb3a
mov dword [edi + 0x38d8], 0
push dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
xor edx, edx
call fcn.0040ff90
movss xmm0, dword [ebp - 0x10]
add esp, 4
mov byte [ebp + 0x13], al
movss dword [edi + 0x38d8], xmm0
test bl, bl
jns 0x40cb72
mov ecx, 3
call fcn.00406960
mov ecx, 1
call fcn.004067e0
mov esi, dword [edi + 0x3f88]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x10], esi
cmp word [esi + 0xbc], 1
mov dword [esi + 0x78], ecx
jne 0x40cba0
mov edx, dword [ebp - 0xc]
mov eax, dword [esi + 0x18]
mov dword [edx + 0xf8], eax
mov eax, dword [esi + 0x1c]
mov dword [edx + 0xfc], eax
mov esi, ecx
mov al, 0x23
not esi
mov edx, 0x4a2471
mov ebx, esi
nop dword [eax]
cmp al, 0x23
jne 0x40cbbe
cmp byte [edx], al
jne 0x40cbbe
cmp byte [edx + 1], al
cmove ebx, esi
movzx ecx, bl
movzx eax, al
xor ecx, eax
shr ebx, 8
mov al, byte [edx]
inc edx
xor ebx, dword [ecx*4 + 0x4a8ca8]
test al, al
jne 0x40cbb0
mov esi, dword [ebp - 0x10]
not ebx
cmp dword [edi + 0x3fd8], ebx
jne 0x40cbed
xor edx, edx
xor ecx, ecx
call fcn.00409370
mov eax, dword [ebp - 8]
cmp dword [edi + 0x4a10], eax
jne 0x40cc3b
test dword [ebp + 0xc], 0x800000
jne 0x40cc3b
cmp word [esi + 0x154], 0
jne 0x40cc14
cmp byte [esi + 0x15a], 0
je 0x40cc3b
xor edx, edx
mov ecx, esi
call fcn.004126e0
xor dl, dl
mov ecx, esi
call fcn.0041aff0
mov edx, esi
mov ecx, ebx
call fcn.00409370
mov eax, dword [edi + 0x4a34]
mov dword [edi + 0x3ff8], eax
mov al, byte [ebp + 0x13]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret