Function at 0x40c82f
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xc4
mov eax, dword [0x44465c]
xor eax, esp
mov dword [esp + 0xc0], eax
push ebx
push esi
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push edi
mov edi, dword [0x447af8]
push 0
mov ebx, ecx
push 0xc
mov dword [esp + 0x20], ebx
call esi
push eax
push 0xb
call esi
push eax
push 1
push 0x83b
push edi
call dword [sym.imp.USER32.dll_LoadImageW]
push eax
push 1
lea edi, [ebx + 4]
push 0x80
push dword [edi]
mov dword [esp + 0x20], edi
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [0x447af8]
push 0
push 0x32
mov dword [esp + 0x1c], eax
call esi
push eax
push 0x31
call esi
push eax
push 1
push 0x83b
push dword [esp + 0x28]
call dword [sym.imp.USER32.dll_LoadImageW]
push eax
push 0
push 0x80
push dword [edi]
call dword [sym.imp.USER32.dll_SendMessageW]
cmp dword [0x446d20], 8
mov eax, dword [0x446d0c]
jae 0x40c8d8
mov eax, 0x446d0c
push eax
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowTextW]
call fcn.0040857d
xor ecx, ecx
cmp eax, 7
setge cl
push 0x8d6
push dword [0x447af4]
mov dword [esp + 0x2c], ecx
call fcn.00408479
lea esi, [ebx + 0x1a8]
mov edi, eax
mov eax, dword [esi]
pop ecx
pop ecx
test eax, eax
je 0x40c91d
cmp eax, edi
je 0x40c91d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
and dword [esp + 0x3c], 0
mov dword [esi], edi
xor eax, eax
push esi
lea edi, [esp + 0x44]
lea esi, [esp + 0x40]
stosd dword es:[edi], eax
call fcn.0040d52a
mov edi, dword [esp + 0x10]
push 6
push dword [esp + 0x44]
xor esi, esi
push dword [esp + 0x44]
push esi
push esi
push esi
push dword [edi]
call dword [sym.imp.USER32.dll_SetWindowPos]
lea eax, [esp + 0x58]
push eax
push dword [edi]
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
call dword [sym.imp.USER32.dll_GetClientRect]
push 0x8d4
push dword [0x447af4]
call fcn.00408479
mov dword [esp + 0x14], eax
xor eax, eax
pop ecx
mov dword [esp + 0x40], esi
lea edi, [esp + 0x44]
stosd dword es:[edi], eax
pop ecx
lea eax, [esp + 0xc]
push eax
lea esi, [esp + 0x40]
call fcn.0040d52a
mov eax, dword [esp + 0x3c]
push dword [esp + 0x40]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
lea esi, [ebx + 0x1b0]
push esi
call fcn.0040b52b
mov edi, dword [sym.imp.COMCTL32.dll_ImageList_Add]
push 0
push dword [esp + 0x10]
push dword [esi]
call edi
push 0x8d3
push dword [0x447af4]
call fcn.00408479
cmp dword [esp + 0x14], 0
pop ecx
mov esi, eax
pop ecx
mov dword [esp + 0x28], esi
je 0x40c9f9
cmp dword [esp + 0xc], esi
je 0x40c9f9
push dword [esp + 0xc]
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [esp + 0xc]
mov dword [esp + 0xc], esi
push eax
lea esi, [esp + 0x40]
call fcn.0040d52a
mov eax, dword [esp + 0x3c]
push dword [esp + 0x40]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
lea esi, [ebx + 0x1ac]
push esi
mov dword [esp + 0x18], eax
call fcn.0040b52b
push 0
push dword [esp + 0x2c]
push dword [esi]
call edi
mov eax, dword [esp + 0x10]
push 0x8ce
push dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea esi, [ebx + 0x28]
mov ecx, esi
call fcn.0040d5a1
xor edi, edi
inc edi
mov dword [ebx + 0x4c], edi
mov eax, dword [ebx + 0x1b0]
call fcn.0040d5e2
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x5c]
and dword [esi + 0x2c], 0
sub eax, dword [esp + 0x40]
push 4
push dword [esp + 0x44]
sub eax, 0xd
push dword [esp + 0x14]
mov dword [esi + 0x30], 2
push eax
mov eax, dword [esp + 0x70]
sub eax, dword [esp + 0x68]
mov dword [esi + 0x34], edi
sub eax, dword [esp + 0x1c]
mov dword [esi + 0x38], 3
cdq
sub eax, edx
sar eax, 1
push eax
push 0
push dword [ebx + 0x2c]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esp + 0x10]
push 0x8cc
push dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebx + 0xa8]
call fcn.0040d5a1
push 0x8d5
push dword [0x447af4]
call fcn.00408479
pop ecx
mov dword [esp + 0x20], eax
pop ecx
lea eax, [esp + 0x1c]
push eax
lea esi, [esp + 0x40]
call fcn.0040d52a
mov eax, dword [esp + 0x3c]
push dword [esp + 0x40]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
lea esi, [ebx + 0x1b4]
push esi
mov dword [esp + 0x18], eax
call fcn.0040b52b
push 0
push dword [esp + 0x20]
push dword [esi]
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov dword [ebx + 0xcc], edi
mov eax, dword [esi]
lea esi, [ebx + 0xa8]
call fcn.0040d5e2
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0xc]
and dword [ebx + 0xd4], 0
push 4
push dword [esp + 0x44]
dec eax
push dword [esp + 0x14]
mov dword [ebx + 0xd8], 2
push edi
push eax
push 0
mov dword [ebx + 0xdc], edi
mov dword [ebx + 0xe0], 3
push dword [ebx + 0xac]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esp + 0x10]
push 0x8cd
push dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea ecx, [ebx + 0x128]
call fcn.0040d5a1
push 0x8d7
push dword [0x447af4]
call fcn.00408479
pop ecx
mov dword [esp + 0x24], eax
pop ecx
lea eax, [esp + 0x20]
push eax
lea esi, [esp + 0x40]
call fcn.0040d52a
mov eax, dword [esp + 0x3c]
push dword [esp + 0x40]
cdq
and edx, 3
add eax, edx
sar eax, 2
push eax
lea esi, [ebx + 0x1b8]
push esi
mov dword [esp + 0x20], eax
call fcn.0040b52b
push 0
push dword [esp + 0x24]
push dword [esi]
call dword [sym.imp.COMCTL32.dll_ImageList_Add]
mov dword [ebx + 0x14c], edi
mov eax, dword [esi]
lea esi, [ebx + 0x128]
call fcn.0040d5e2
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0xc]
push 4
push dword [esp + 0x44]
sub eax, dword [esp + 0x1c]
push dword [esp + 0x1c]
xor esi, esi
push edi
dec eax
push eax
push esi
mov dword [ebx + 0x154], esi
mov dword [ebx + 0x158], 2
mov dword [ebx + 0x15c], edi
mov dword [ebx + 0x160], 3
push dword [ebx + 0x12c]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, 0x43fb68
cmp dword [esp + 0x24], esi
jne 0x40cc51
mov eax, str.Tahoma
push eax
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push esi
push 0xfffffffffffffff4
call dword [sym.imp.GDI32.dll_CreateFontW]
mov edi, eax
mov eax, dword [esp + 0x10]
push 0x8cb
push dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
lea esi, [ebx + 0x1bc]
mov ebx, eax
call fcn.0040d961
mov ecx, 0xffffff
call fcn.0040d994
push edi
call fcn.0040d9b7
mov esi, dword [esp + 0x18]
push 4
push 0x1e
push 0x64
push 7
push 0xa
xor ebx, ebx
push ebx
push dword [esi + 0x1c0]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x876
lea ecx, [esp + 0x40]
call fcn.0040165a
cmp dword [eax + 0x14], 8
pop ecx
jb 0x40ccca
mov eax, dword [eax]
push eax
push dword [esi + 0x1c0]
call dword [sym.imp.USER32.dll_SetWindowTextW]
push 1
xor edi, edi
lea esi, [esp + 0x40]
call fcn.00402346
mov eax, 0x43fb68
cmp dword [esp + 0x24], ebx
jne 0x40ccf4
mov eax, str.Tahoma
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
xor eax, eax
cmp dword [esp + 0x44], ebx
push ebx
push ebx
sete al
push ebx
push ebx
push ebx
lea eax, [eax + eax - 0x10]
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
mov edi, eax
mov eax, dword [esp + 0x10]
push 0x8ca
push dword [eax]
call dword [sym.imp.USER32.dll_GetDlgItem]
mov esi, dword [esp + 0x18]
add esi, 0x264
mov ebx, eax
call fcn.0040d961
mov ecx, 0x393939
call fcn.0040d994
push edi
call fcn.0040d9b7
xor ebx, ebx
cmp dword [esi + 0x98], ebx
je 0x40cd8d
mov dword [esi + 0x98], ebx
mov dword [esi + 0x38], 0x190
push dword [esi + 0x24]
call dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x40cd70
mov dword [esi + 0x24], ebx
lea eax, [esi + 0x28]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push 0x105
push ebx
push ebx
mov dword [esi + 0x24], eax
push dword [esi + 4]
call dword [sym.imp.USER32.dll_RedrawWindow]
mov eax, dword [esp + 0x18]
push 4
push 0x1e
push 0x1f4
push 0xea
push ebx
push ebx
push dword [eax + 0x268]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x43fb84
lea esi, [esp + 0x98]
call fcn.00408296
push 0x446cf0
lea esi, [esp + 0x7c]
call fcn.004019d4
cmp dword [esp + 0x88], ebx
je 0x40ce35
cmp dword [esp + 0x8c], 8
mov esi, dword [esp + 0x78]
jae 0x40cde7
lea esi, [esp + 0x78]
push 0x875
lea ecx, [esp + 0xb4]
call fcn.0040165a
cmp dword [eax + 0x14], 8
pop ecx
jb 0x40ce01
mov eax, dword [eax]
push esi
push eax
lea esi, [esp + 0x44]
call fcn.00417be1
pop ecx
mov ebx, eax
pop ecx
lea eax, [esp + 0x94]
call fcn.00402120
push 1
xor edi, edi
call fcn.00402346
push 1
lea esi, [esp + 0xb4]
call fcn.00402346
xor ebx, ebx
cmp dword [esp + 0xa8], 8
mov eax, dword [esp + 0x94]
jae 0x40ce4d
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x1c]
push dword [eax + 0x268]
call dword [sym.imp.USER32.dll_SetWindowTextW]
lea eax, [esp + 0x68]
push eax
mov eax, dword [esp + 0x14]
push dword [eax]
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [esp + 0x74]
sub eax, dword [esp + 0x6c]
mov esi, dword [esp + 0x70]
sub esi, dword [esp + 0x68]
mov edi, dword [sym.imp.GDI32.dll_CreateRectRgn]
inc eax
push eax
lea eax, [esi + 1]
push eax
push ebx
push ebx
call edi
dec esi
mov dword [esp + 0x44], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x48], ebx
xor esi, esi
mov eax, dword [esp + esi*8 + 0x40]
mov ecx, dword [esp + esi*8 + 0x3c]
lea edx, [eax + 1]
push edx
lea edx, [ecx + 1]
push edx
push eax
push ecx
call edi
push 4
push eax
push dword [esp + 0x14]
mov dword [esp + 0x20], eax
push dword [esp + 0x18]
call dword [sym.imp.GDI32.dll_CombineRgn]
cmp dword [esp + 0x14], ebx
je 0x40ceef
push dword [esp + 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
inc esi
cmp esi, 2
jb 0x40ceb6
mov eax, dword [esp + 0x10]
push 1
push dword [esp + 0x10]
push dword [eax]
call dword [sym.imp.USER32.dll_SetWindowRgn]
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x1c]
push dword [eax + 0x268]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
sub esp, 0x10
mov edi, esp
lea esi, [esp + 0x3c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x28]
push esi
call fcn.0040f452
mov dword [esi + 0x30c], eax
mov esi, dword [esp + 0x10]
push dword [esi]
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov ecx, esi
call fcn.0040b2e5
push ebx
push dword [esi]
call dword [sym.imp.USER32.dll_ShowWindow]
push ebx
push ebx
push 0xb00
push dword [esi]
call dword [sym.imp.USER32.dll_PostMessageW]
cmp dword [esp + 0xc], ebx
je 0x40cf84
push dword [esp + 0xc]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 1
xor edi, edi
lea esi, [esp + 0x7c]
call fcn.00402346
push 1
lea esi, [esp + 0x98]
call fcn.00402346
cmp dword [esp + 0x20], ebx
je 0x40cfaf
push dword [esp + 0x20]
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [esp + 0x1c], ebx
je 0x40cfbf
push dword [esp + 0x1c]
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [esp + 0x28], ebx
je 0x40cfcf
push dword [esp + 0x28]
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [esp + 0xcc]
pop edi
pop esi
xor eax, eax
pop ebx
xor ecx, esp
inc eax
call fcn.0042396b
mov esp, ebp
pop ebp
ret 4