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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4d1a8e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push ebp
push esi
mov esi, ecx
push edi
push esi
lea ecx, [esp + 0x18]
call fcn.004928bb
cmp byte [esi + 0x5c], 0
mov dword [esp + 0x104], 0
je 0x420491
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0x78]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov ebx, dword [esp + 0x80]
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x38], eax
mov edi, ebx
sub edi, ecx
mov dword [esp + 0x2c], ebp
sub ebp, eax
mov eax, edi
cdq
and edx, 7
add eax, edx
sar eax, 3
mov dword [esp + 0x30], ecx
add ecx, eax
mov eax, 0x2aaaaaab
imul edi
mov edi, dword [esp + 0x7c]
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x28], ecx
mov dword [esi + 0x88], ecx
mov ecx, ebx
sub ecx, eax
mov eax, 0x2aaaaaab
imul ebp
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], ebx
mov ebx, edx
shr ebx, 0x1f
mov dword [esi + 0x8c], ecx
sub ecx, dword [esp + 0x28]
add ebx, edx
sub eax, ebx
add edi, 0x14
mov dword [esi + 0x94], eax
mov dword [esi + 0x98], ecx
sub eax, edi
push 0x11
lea ecx, [esp + 0x18]
mov dword [esi + 0x90], edi
mov dword [esi + 0x9c], eax
call fcn.00492b8b
xor edi, edi
mov ebx, vtable.CBrush.0
mov dword [esp + 0x5c], edi
mov dword [esp + 0x58], ebx
mov ebp, dword [sym.imp.GDI32.dll_CreateSolidBrush]
push edi
mov byte [esp + 0x108], 1
call ebp
push eax
lea ecx, [esp + 0x5c]
call fcn.00492aef
mov dword [esp + 0x44], edi
mov dword [esp + 0x40], ebx
mov edi, dword [sym.imp.USER32.dll_GetSysColor]
push 0xf
mov byte [esp + 0x108], 2
call edi
push eax
call ebp
push eax
lea ecx, [esp + 0x44]
call fcn.00492aef
mov ebx, dword [esp + 0x18]
push 0xf
call edi
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0x10
call edi
push eax
push 1
push 0
lea ecx, [esp + 0x74]
call fcn.00492c83
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x18]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push ecx
push edx
call edi
mov ecx, dword [esp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0x44]
push eax
push ecx
call edi
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x38]
push edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
mov ecx, dword [esp + 0x18]
push ebx
push ecx
call edi
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
push edx
push eax
call edi
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], vtable.CBrush.0
push ebx
mov byte [esp + 0x108], 4
call ebp
push eax
lea ecx, [esp + 0x4c]
call fcn.00492aef
push ebx
push 1
push ebx
lea ecx, [esp + 0x7c]
call fcn.00492c83
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov byte [esp + 0x10c], 5
call edi
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call edi
mov edx, dword [esi + 0x94]
mov ecx, dword [esi + 0x90]
push edx
mov edx, dword [esi + 0x88]
mov dword [esp + 0x2c], eax
mov eax, dword [esi + 0x8c]
push eax
mov eax, dword [esp + 0x20]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
lea ecx, [esp + 0x88]
mov edx, dword [esp + 0x18]
push ecx
push 2
push 0x4dcb40
push edx
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
mov eax, dword [esp + 0x8c]
push 0x606060
push 1
push ebx
lea ecx, [esp + 0x6c]
mov dword [esp + 0x3c], eax
call fcn.00492c83
push 0x808080
push 1
push ebx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x110], 6
call fcn.00492c83
mov ecx, dword [esp + 0x18]
push 6
push ecx
mov byte [esp + 0x10c], 7
call dword [sym.imp.GDI32.dll_SetTextAlign]
lea ecx, [esi + 0x68]
mov eax, ecx
lea ebp, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x41ffd0
sub eax, ebp
push eax
mov eax, dword [esi + 0x98]
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
push ecx
sar eax, 1
add eax, dword [esi + 0x88]
push 2
push eax
push edx
call dword [sym.imp.GDI32.dll_TextOutA]
mov dword [esp + 0x2c], 0
jmp 0x420010
mov ecx, dword [esi + 0x98]
imul ecx, ebx
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
add ebp, dword [esi + 0x88]
mov eax, 0x66666667
imul ebx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*4]
mov ecx, ebx
sub ecx, eax
jne 0x4200bc
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
push edx
push eax
call edi
mov dword [esp + 0x10], eax
mov eax, 0x66666667
imul dword [esp + 0x2c]
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
lea edx, [esp + 0x94]
push 0x4da260
push edx
call fcn.004b09b2
lea eax, [esp + 0x9c]
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x420090
mov ecx, dword [esi + 0x94]
sub eax, edx
mov edx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x94]
push eax
add ecx, 2
push ecx
push ebp
push edx
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x4200cc
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call edi
mov dword [esp + 0x10], eax
mov edx, dword [esi + 0x90]
push edx
push ebp
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x20]
call fcn.00492531
mov ecx, dword [esi + 0x94]
add ecx, 2
push ecx
push ebp
lea ecx, [esp + 0x1c]
call fcn.004921d9
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push edx
push eax
call edi
mov eax, dword [esp + 0x2c]
add eax, 0x50
add ebx, 1
cmp eax, 0x640
mov dword [esp + 0x2c], eax
jle 0x420010
cmp dword [esi + 0x54], 0xffffffff
jne 0x420128
mov dword [esi + 0x54], 0xa
mov ecx, dword [esp + 0x18]
push 2
push ecx
call dword [sym.imp.GDI32.dll_SetTextAlign]
xor ebp, ebp
mov ecx, dword [esi + 0x9c]
mov ebx, dword [esi + 0x94]
imul ecx, ebp
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, ebp
sub ebx, eax
and ecx, 0x80000001
jns 0x420168
dec ecx
or ecx, 0xfffffffe
inc ecx
jne 0x4201f9
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x18]
push edx
push eax
call edi
test ebp, ebp
mov dword [esp + 0x10], eax
je 0x420209
mov ecx, dword [esi + 0x54]
imul ecx, ebp
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
push ecx
lea edx, [esp + 0x94]
push 0x4da260
push edx
call fcn.004b09b2
lea eax, [esp + 0x9c]
add esp, 0xc
lea ecx, [eax + 1]
lea ecx, [ecx]
mov dl, byte [eax]
add eax, 1
test dl, dl
jne 0x4201c0
sub eax, ecx
push eax
lea eax, [esp + 0x94]
push eax
mov eax, dword [esp + 0x38]
cdq
sub eax, edx
mov edx, dword [esi + 0x88]
sar eax, 1
mov ecx, ebx
sub ecx, eax
mov eax, dword [esp + 0x20]
push ecx
sub edx, 6
push edx
push eax
call dword [sym.imp.GDI32.dll_TextOutA]
jmp 0x420209
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x18]
push ecx
push edx
call edi
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0x88]
push ebx
sub eax, 2
push eax
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x20]
call fcn.00492531
mov edx, dword [esi + 0x8c]
push ebx
add edx, 2
push edx
lea ecx, [esp + 0x1c]
call fcn.004921d9
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
push eax
push ecx
call edi
add ebp, 1
cmp ebp, 0xa
jle 0x420137
cmp dword [esi + 0x60], 0
jle 0x4202f0
push 0xffff00
push 1
push 0
lea ecx, [esp + 0x3c]
call fcn.00492c83
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
push edx
push eax
mov byte [esp + 0x10c], 8
call edi
mov ecx, dword [esi + 0x98]
imul ecx, dword [esi + 0x60]
mov ebx, eax
mov eax, 0x5d34edef
imul ecx
mov ecx, dword [esi + 0x90]
sar edx, 0x11
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
add ebp, dword [esi + 0x88]
push ecx
push ebp
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x1c], ebx
call fcn.00492531
mov eax, dword [esi + 0x94]
push eax
push ebp
lea ecx, [esp + 0x1c]
call fcn.004921d9
mov ecx, dword [esp + 0x18]
push ebx
push ecx
call edi
mov ebx, vtable.CPen.0
lea ecx, [esp + 0x30]
mov byte [esp + 0x104], 7
mov dword [esp + 0x30], ebx
call fcn.00402cb0
jmp 0x4202f5
mov ebx, vtable.CPen.0
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
push edx
push eax
call edi
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
push ecx
push edx
call edi
mov eax, dword [esi + 0x64]
mov ecx, dword [eax + 0x1e8]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor ebp, ebp
test ecx, ecx
jle 0x420359
lea ecx, [ecx]
push ebp
mov ecx, esi
call fcn.0041fb40
mov edx, dword [esi + 0x64]
mov ecx, dword [edx + 0x1e8]
mov eax, 0x1b4e81b5
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add ebp, 1
add eax, edx
cmp ebp, eax
jl 0x420330
cmp dword [esi + 0x60], 0
jle 0x4203f9
push 0xffff00
push 1
push 0
lea ecx, [esp + 0x3c]
call fcn.00492c83
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov byte [esp + 0x10c], 9
call edi
mov ecx, dword [esi + 0x98]
imul ecx, dword [esi + 0x60]
mov ebx, eax
mov eax, 0x5d34edef
imul ecx
mov eax, dword [esi + 0x90]
sar edx, 0x11
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
add ebp, dword [esi + 0x88]
push eax
push ebp
lea ecx, [esp + 0x40]
push ecx
lea ecx, [esp + 0x20]
call fcn.00492531
mov edx, dword [esi + 0x94]
push edx
push ebp
lea ecx, [esp + 0x1c]
call fcn.004921d9
mov eax, dword [esp + 0x18]
push ebx
push eax
call edi
lea ecx, [esp + 0x30]
mov byte [esp + 0x104], 7
mov dword [esp + 0x30], vtable.CPen.0
call fcn.00402cb0
mov ebx, vtable.CPen.0
lea ecx, [esp + 0x50]
mov byte [esp + 0x104], 6
mov dword [esp + 0x50], ebx
call fcn.00402cb0
lea ecx, [esp + 0x60]
mov byte [esp + 0x104], 5
mov dword [esp + 0x60], ebx
call fcn.00402cb0
lea ecx, [esp + 0x70]
mov byte [esp + 0x104], 4
mov dword [esp + 0x70], ebx
call fcn.00402cb0
mov esi, vtable.CBrush.0
lea ecx, [esp + 0x48]
mov byte [esp + 0x104], 3
mov dword [esp + 0x48], esi
call fcn.00402cb0
lea ecx, [esp + 0x68]
mov byte [esp + 0x104], 2
mov dword [esp + 0x68], ebx
call fcn.00402cb0
lea ecx, [esp + 0x40]
mov byte [esp + 0x104], 1
mov dword [esp + 0x40], esi
call fcn.00402cb0
lea ecx, [esp + 0x58]
mov byte [esp + 0x104], 0
mov dword [esp + 0x58], esi
call fcn.00402cb0
lea ecx, [esp + 0x14]
mov dword [esp + 0x104], 0xffffffff
call fcn.0049290f
mov ecx, dword [esp + 0xfc]
pop edi
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret