Function at 0x40a000
Capabilities:
Create thread

Disassembly:
push ebp
xor edx, edx
mov ebp, esp
push edi
push esi
push ebx
push ecx
lea ecx, [ebp + 8]
sub esp, 0x34
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov ebx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp eax, 5
je 0x40a4e0
cmp eax, 0x110
jne 0x40a4cb
mov ebx, dword [sym.imp.user32.dll_GetClientRect]
lea edi, [ebp - 0x20]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [ebp - 0x24], ebx
call ebx
mov eax, dword [ebp - 0x18]
sub esp, 8
mov dword [0x411894], eax
mov eax, dword [ebp - 0x14]
mov dword [esp + 0x18], 0x215
mov dword [0x411890], eax
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x1e
mov dword [esp + 8], 0xf
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [sym.imp.user32.dll_SetWindowPos]
mov ebx, dword [sym.imp.user32.dll_GetDlgItem]
sub esp, 0x1c
mov dword [esp + 4], 0x40d
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x41182c], eax
mov dword [esp + 4], 0x40e
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117d8], eax
mov dword [esp + 4], 0x40f
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117fc], eax
mov dword [esp + 4], 0x410
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411820], eax
mov dword [esp + 4], 0x413
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117e8], eax
mov dword [esp + 4], 0x414
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x41180c], eax
mov dword [esp + 4], 0x415
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117f0], eax
mov dword [esp + 4], 0x416
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411814], eax
mov dword [esp + 4], 0x404
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117e4], eax
mov dword [esp + 4], 0x405
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117dc], eax
mov dword [esp + 4], 0x406
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117e0], eax
mov dword [esp + 4], 0x40a
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411808], eax
mov dword [esp + 4], 0x40b
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411804], eax
mov dword [esp + 4], 0x40c
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411800], eax
mov dword [esp + 4], 0x407
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411828], eax
mov dword [esp + 4], 0x408
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x41181c], eax
mov dword [esp + 4], 0x409
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411824], eax
mov dword [esp + 4], 0x400
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411830], eax
mov dword [esp + 4], 0x403
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411834], eax
mov dword [esp + 4], 0x402
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411838], eax
mov dword [esp + 4], 0x417
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x4117ec], eax
mov dword [esp + 4], 0x418
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411810], eax
mov dword [esp + 4], 0x419
mov dword [esp], esi
call ebx
sub esp, 8
mov dword [0x411818], eax
mov dword [esp + 4], 0x41a
mov dword [esp], esi
call ebx
mov ebx, dword [ebp - 0x24]
sub esp, 8
mov dword [0x4117f4], eax
mov dword [esp + 4], edi
mov dword [esp], eax
call ebx
mov eax, dword [0x4117f4]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0x41a
mov dword [esp + 8], esi
mov dword [esp], 0x411120
call sym._GraphCtrl_Create
mov dword [esp + 0x14], 0xa
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x40590000
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], 0x411120
call sym._GraphCtrl_SetRange
mov dword [esp + 4], 0
mov dword [esp], 0x411120
call sym._GraphCtrl_SetBackgroundColor
mov dword [esp + 4], 0x98cd98
mov dword [esp], 0x411120
call sym._GraphCtrl_SetGridColor
mov dword [esp + 8], 0xff
mov dword [esp + 4], 0
mov dword [esp], 0x411120
call sym._GraphCtrl_SetPlotColor
mov dword [esp + 8], 0xff00
mov dword [esp + 4], 1
mov dword [esp], 0x411120
call sym._GraphCtrl_SetPlotColor
mov eax, dword [0x411818]
mov dword [esp + 4], edi
mov dword [esp], eax
call ebx
mov eax, dword [0x411818]
sub esp, 8
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0x419
mov dword [esp + 8], esi
mov dword [esp], 0x411280
call sym._GraphCtrl_Create
mov dword [esp + 0x14], 0xa
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0x40590000
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp], 0x411280
call sym._GraphCtrl_SetRange
mov dword [esp + 4], 0
mov dword [esp], 0x411280
call sym._GraphCtrl_SetBackgroundColor
mov dword [esp + 4], 0x98d798
mov dword [esp], 0x411280
call sym._GraphCtrl_SetGridColor
mov dword [esp + 8], 0xffff
mov dword [esp + 4], 0
mov dword [esp], 0x411280
call sym._GraphCtrl_SetPlotColor
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], sym._PerformancePageRefreshThread_4
mov dword [esp + 4], 0
mov dword [esp], 0
call dword [sym.imp.kernel32.dll_CreateThread]
sub esp, 0x18
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_CloseHandle]
mov eax, dword [0x4117ec]
mov ebx, dword [sym.imp.user32.dll_SetWindowLongW]
sub esp, 4
mov dword [esp + 8], sym._Graph_WndProc_16
mov dword [esp + 4], 0xfffffffc
mov dword [esp], eax
call ebx
mov dword [0x4110e4], eax
mov eax, dword [0x411810]
sub esp, 0xc
mov dword [esp + 8], sym._Graph_WndProc_16
mov dword [esp + 4], 0xfffffffc
mov dword [esp], eax
call ebx
mov eax, dword [0x411818]
sub esp, 0xc
mov dword [esp + 8], sym._GraphCtrl_WndProc_16
mov dword [esp + 4], 0xfffffffc
mov dword [esp], eax
call ebx
mov dword [0x4110e0], eax
mov eax, dword [0x4117f4]
sub esp, 0xc
mov dword [esp + 8], sym._GraphCtrl_WndProc_16
mov dword [esp + 4], 0xfffffffc
mov dword [esp], eax
call ebx
mov edx, 1
sub esp, 0xc
lea esp, [ebp - 0x10]
mov eax, edx
pop ecx
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
cmp ebx, 1
je 0x40a4cb
movzx eax, cx
shr ecx, 0x10
mov dword [esp + 4], 0
mov edx, esi
mov ebx, ecx
sub ebx, dword [0x411890]
mov edi, dword [0x411894]
mov dword [ebp - 0x28], eax
mov dword [esp], ebx
mov dword [0x411894], eax
mov eax, dword [0x41182c]
mov dword [0x411890], ecx
xor ecx, ecx
mov dword [ebp - 0x24], edi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117d8]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117fc]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411820]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov edi, dword [sym.imp.user32.dll_GetDlgItem]
mov dword [esp + 4], 0x427
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x428
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x429
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x42d
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x42e
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x42f
mov dword [esp], esi
call edi
mov edx, esi
sub esp, 8
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x42a
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x42b
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x42c
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x424
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x426
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp + 4], 0x425
mov dword [esp], esi
call edi
xor ecx, ecx
mov edx, esi
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], 0
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117e4]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117dc]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117e0]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411808]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411804]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411800]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411828]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x41181c]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411824]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411830]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411834]
xor ecx, ecx
mov dword [esp + 4], 0
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411838]
mov edx, esi
mov dword [esp + 4], 0
xor ecx, ecx
call sym._AdjustFrameSize
mov edi, dword [ebp - 0x28]
mov edx, dword [0x411860]
sub edx, dword [ebp - 0x24]
add ebx, dword [0x411864]
mov dword [0x411864], 0
add edi, edx
test edi, 1
jne 0x40a978
mov dword [0x411860], 0
test bl, 1
je 0x40a89c
test ebx, ebx
jle 0x40a990
mov dword [0x411864], 1
dec ebx
mov dword [esp], ebx
mov eax, dword [0x4117e8]
mov ecx, edi
mov edx, esi
mov dword [esp + 4], 1
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x41180c]
mov ecx, edi
mov dword [esp + 4], 2
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117f0]
mov ecx, edi
mov dword [esp + 4], 3
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411814]
mov ecx, edi
mov dword [esp + 4], 4
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117ec]
mov ecx, edi
mov dword [esp + 4], 1
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411810]
mov ecx, edi
mov dword [esp + 4], 2
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x4117f4]
mov ecx, edi
mov dword [esp + 4], 3
mov edx, esi
call sym._AdjustFrameSize
mov dword [esp], ebx
mov eax, dword [0x411818]
mov ecx, edi
mov dword [esp + 4], 4
mov edx, esi
call sym._AdjustFrameSize
lea esp, [ebp - 0x10]
xor edx, edx
pop ecx
mov eax, edx
pop ebx
pop esi
pop edi
pop ebp
ret 0x10
test edi, edi
jle 0x40a9a0
mov dword [0x411860], 1
dec edi
jmp 0x40a884
mov dword [0x411864], 0xffffffff
inc ebx
jmp 0x40a89c
mov dword [0x411860], 0xffffffff
inc edi
jmp 0x40a884