Function at 0x40b3f0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1c
mov eax, dword [section..data]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, ecx
push 0
mov dword [ebp - 0x18], edi
push dword [edi]
call dword [sym.imp.USER32.dll_GetSystemMenu]
test eax, eax
je 0x40b424
push 0
push 0xf060
push eax
call dword [sym.imp.USER32.dll_EnableMenuItem]
push dword [0x48b1f8]
movdqa xmm0, xmmword [0x434f50]
lea eax, [ebp - 0x14]
push eax
push dword [edi + 0x424]
mov dword [edi + 0x58c], 3
movdqu xmmword [ebp - 0x14], xmm0
call dword [sym.imp.USER32.dll_FillRect]
push 1
push 1
push dword [edi + 0x44c]
push dword [edi + 0x448]
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_FrameRgn]
push 0
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [edi + 0x444]
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_SelectObject]
mov al, byte [edi + 5]
xor ecx, ecx
test al, al
jne 0x40b49d
mov esi, 0x43484c
jmp 0x40b4b2
cmp al, 1
jne 0x40b4a8
mov esi, 0x434860
jmp 0x40b4b2
cmp al, 2
mov esi, 0x434874
cmovne esi, ecx
push 0x4b
push 0x1b8
push 0x2d
push 0x28
lea ebx, [edi + 0x5c4]
push ebx
call dword [sym.imp.USER32.dll_SetRect]
mov ecx, esi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b4d0
push 0x40000
push ebx
sub ecx, edx
push ecx
push esi
push dword [edi + 0x424]
call dword [sym.imp.USER32.dll_DrawTextA]
push 0x5a5a5a
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [edi + 0x43c]
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [edi + 5], 2
mov esi, dword [sym.imp.USER32.dll_SetRect]
je 0x40b543
push 0x64
push 0xbe
push 0x50
push 0x28
push ebx
call esi
push 0x40000
push ebx
push 0xa
push 0x434890
push dword [edi + 0x424]
call dword [sym.imp.USER32.dll_DrawTextA]
push 0
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [edi + 0x438]
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x11d
push 0xbe
push 0x109
push 0x28
push ebx
call esi
push 0x40000
push ebx
push 0x14
push 0x43489c
push dword [edi + 0x424]
call dword [sym.imp.USER32.dll_DrawTextA]
push 0x5a5a5a
push dword [edi + 0x424]
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp byte [edi + 5], 2
mov ecx, 0x4348c0
push 0xc3
push 0x10e
push 0xaf
mov eax, 0x4348b4
push 0x28
cmovne eax, ecx
push ebx
mov dword [ebp - 0x1c], eax
call esi
mov edx, dword [ebp - 0x1c]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40b5d4
sub ecx, dword [ebp - 0x1c]
push 0x40000
push ebx
push ecx
push edx
push dword [edi + 0x424]
call dword [sym.imp.USER32.dll_DrawTextA]
push 0xf3
push 0x230
push 0xf0
push 0x28
lea eax, [ebp - 0x14]
push eax
call esi
mov ebx, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push 0xe4e6e6
call ebx
mov esi, eax
lea eax, [ebp - 0x14]
push esi
push eax
push dword [edi + 0x424]
call dword [sym.imp.USER32.dll_FillRect]
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call edi
push 0xf3
push 0x104
push 0xf0
push 0x28
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.USER32.dll_SetRect]
push 0x6fbc82
call ebx
mov esi, eax
lea eax, [ebp - 0x14]
push esi
push eax
mov eax, dword [ebp - 0x18]
push dword [eax + 0x424]
call dword [sym.imp.USER32.dll_FillRect]
push esi
call edi
mov esi, dword [ebp - 0x18]
mov ebx, dword [sym.imp.GDI32.dll_BitBlt]
push 0xcc0020
push 0
push 0
push dword [esi + 0x5f8]
push 0x12
push 0x1d6
push 0xc8
push 0x28
push dword [esi + 0x424]
call ebx
push 0x6fbc82
push dword [esi + 0x424]
call dword [sym.imp.GDI32.dll_SetTextColor]
push 4
push 0x4348d4
push 0xc6
push 0x208
push dword [esi + 0x424]
call dword [sym.imp.GDI32.dll_TextOutA]
mov ecx, esi
call fcn.0040a5b0
lea edi, [esi + 0x147c]
push edi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push dword [esi]
call dword [sym.imp.USER32.dll_GetDC]
push 0xcc0020
push 0
mov esi, eax
mov eax, dword [ebp - 0x18]
push 0
push dword [eax + 0x420]
push dword [eax + 0x41c]
push dword [eax + 0x418]
push 0
push 0
push esi
call ebx
mov ebx, dword [ebp - 0x18]
push esi
push dword [ebx]
call dword [sym.imp.USER32.dll_ReleaseDC]
push edi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebx + 0x618]
xor esi, esi
sub eax, dword [ebx + 0x614]
sar eax, 2
mov dword [ebp - 0x18], eax
test eax, eax
je 0x40b7dd
mov eax, dword [ebx + 0x614]
mov ebx, dword [ebx + 0x618]
mov ecx, dword [ebp - 0x18]
sub ebx, eax
mov dword [ebp - 0x1c], eax
sar ebx, 2
cmp ebx, esi
jbe 0x40b7ee
mov edi, dword [eax + esi*4]
test edi, edi
je 0x40b79f
mov eax, 0x4348dc
lea ecx, [edi + 0x800]
lea esp, [esp]
mov dl, byte [ecx]
cmp dl, byte [eax]
jne 0x40b790
test dl, dl
je 0x40b78c
mov dl, byte [ecx + 1]
cmp dl, byte [eax + 1]
jne 0x40b790
add ecx, 2
add eax, 2
test dl, dl
jne 0x40b770
xor eax, eax
jmp 0x40b795
sbb eax, eax
or eax, 1
test eax, eax
je 0x40b7a4
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
inc esi
cmp esi, ecx
jb 0x40b752
test edi, edi
je 0x40b7dd
push 0x1558
call fcn.00413332
add esp, 4
mov esi, eax
push 0x1558
push edi
push esi
call fcn.004171f0
add esp, 0xc
mov byte [esi + 0x142d], 0xa
push esi
push 0
push 0x406620
call fcn.0041434b
add esp, 0xc
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00412a47
mov esp, ebp
pop ebp
ret
push str.invalid_vector_T__subscript
call fcn.004291cc
int3