Function at 0x45cee0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x4eeed4
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3c
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
mov edx, dword [eax + 8]
push ebx
push ebp
mov ebp, dword [esp + 0x54]
cmp dword [ebp + 0x120], 1
mov dword [esp + 0x30], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0xc]
push esi
push edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], edx
jne 0x45cfda
mov edi, dword [ebp + 0x234]
cmp dword [ebp + 0x230], edi
lea esi, [ebp + 0x22c]
jbe 0x45cf46
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 8]
jbe 0x45cf54
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push edi
push esi
push ebx
push esi
lea eax, [esp + 0x30]
push eax
push esi
call fcn.00416e20
mov esi, dword [ebp + 0x214]
cmp dword [ebp + 0x210], esi
lea edi, [ebp + 0x20c]
jbe 0x45cf7d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebx, dword [edi + 4]
cmp ebx, dword [edi + 8]
jbe 0x45cf8b
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push esi
push edi
push ebx
push edi
lea ecx, [esp + 0x30]
push ecx
call fcn.00416b60
mov edi, dword [ebp + 0x244]
cmp dword [ebp + 0x240], edi
jbe 0x45cfad
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [ebp + 0x240]
cmp esi, dword [ebp + 0x244]
jbe 0x45cfc1
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, edi
je 0x45cfda
mov edx, esi
mov esi, dword [ebp + 0x244]
mov ecx, edi
call fcn.00418f90
mov dword [ebp + 0x244], eax
or eax, 0xffffffff
xor edi, edi
lea esi, [ebp + 0x21c]
mov dword [ebp + 0x12c], edi
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x130], eax
mov dword [ebp + 0x138], eax
mov dword [ebp + 0x13c], eax
mov ebx, dword [esi + 8]
cmp dword [esi + 4], ebx
jbe 0x45d00e
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 4]
cmp eax, dword [esi + 8]
mov dword [esp + 0x5c], eax
jbe 0x45d024
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x5c]
push ebx
push esi
push eax
push esi
lea edx, [esp + 0x30]
push edx
push esi
call fcn.00416cb0
lea ecx, [esp + 0x64]
mov dword [esp + 0x5c], edi
call dword [sym.imp.MFC80U.DLL_Ordinal_293]
mov esi, ebp
mov dword [esp + 0x54], edi
call fcn.00453dd0
lea eax, [ebp + 0x3c]
push eax
push str.body
push ebp
call fcn.00457c20
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call dword [sym.imp.MFC80U.DLL_Ordinal_283]
push ebp
call fcn.004575f0
mov al, byte [ebp + 0x48]
mov ecx, dword [ebp + 0x40]
mov edx, dword [ebp + 0x44]
mov byte [ebp + 0x1b4], al
mov eax, dword [ebp + 0x58]
push eax
lea esi, [ebp + 0x1a0]
mov dword [esi], ecx
mov cl, byte [ebp + 0x50]
mov dword [ebp + 0x1b0], edx
mov dl, byte [ebp + 0x4c]
lea eax, [ebp + 0x1bc]
push 0x20
push eax
mov dword [ebp + 0x1a4], edi
mov dword [ebp + 0x1ac], edi
mov dword [ebp + 0x1a8], edi
mov byte [ebp + 0x1b6], cl
mov byte [ebp + 0x1b5], dl
mov byte [ebp + 0x1b7], 1
mov byte [ebp + 0x1b8], 0
mov byte [ebp + 0x1b9], 0
mov byte [ebp + 0x1ba], 0
mov byte [ebp + 0x1bb], 0
call dword [sym.imp.MSVCR80.dll_wcscpy_s]
add esp, 0xc
push esi
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov ecx, dword [ebp + 0x118]
push eax
push ecx
mov dword [ebp + 0x1fc], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp + 0x74]
mov dword [ebp + 0xf0], eax
mov eax, dword [ebp + 0x118]
push edx
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov ecx, dword [ebp + 0x5c]
mov edx, dword [ebp + 0x118]
push ecx
push edx
mov dword [ebp + 0xf4], eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [ebp + 0x118]
mov dword [ebp + 0xf8], eax
mov eax, dword [ebp + 0x60]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetBkColor]
lea edx, [ebp + 0x164]
mov dword [ebp + 0xfc], eax
push edx
mov eax, dword [ebp + 0x118]
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
mov ecx, dword [ebp + 0x11c]
cmp dword [ecx - 0xc], 0
lea ebx, [ebp + 0x11c]
jle 0x45d2c3
lea esp, [esp]
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push str.table
mov dword [esp + 0x1c], edi
call dword [sym.imp.MFC80U.DLL_Ordinal_283]
lea esi, [esp + 0x60]
mov edi, ebx
call fcn.00454a40
mov edi, dword [esp + 0x5c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x14]
mov edx, edi
sub edx, eax
push edx
push eax
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
call dword [sym.imp.MFC80U.DLL_Ordinal_4101]
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x58], 1
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
lea ecx, [esp + 0x18]
mov byte [esp + 0x54], 0
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov ecx, dword [esp + 0x64]
cmp dword [ecx - 0xc], 0
je 0x45d223
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x30]
push ecx
push ebp
call fcn.004591c0
mov esi, dword [esp + 0x60]
mov ecx, dword [eax]
mov edx, dword [esi]
cmp edx, ecx
mov eax, dword [eax + 4]
jle 0x45d20f
mov ecx, edx
add dword [esi + 4], eax
mov dword [esi], ecx
cmp dword [ebp + 0x120], 0
jne 0x45d227
add dword [esp + 0x3c], eax
jmp 0x45d227
mov esi, dword [esp + 0x60]
cmp dword [esp + 0x1c], 0
je 0x45d2b8
lea edx, [esp + 0x5c]
mov dword [esp + 0x14], edi
add edi, 6
push edx
mov eax, ebx
mov dword [esp + 0x60], edi
call fcn.00455b20
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0x14]
mov ecx, edi
sub ecx, eax
push ecx
push eax
lea edx, [esp + 0x28]
push edx
mov ecx, ebx
call dword [sym.imp.MFC80U.DLL_Ordinal_4101]
push eax
lea ecx, [esp + 0x68]
mov byte [esp + 0x58], 2
call dword [sym.imp.MFC80U.DLL_Ordinal_774]
lea ecx, [esp + 0x20]
mov byte [esp + 0x54], 0
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x68]
push ecx
lea edx, [esp + 0x38]
push edx
mov ecx, ebp
call fcn.0045be00
mov ecx, dword [eax]
mov edx, dword [esi]
cmp edx, ecx
mov eax, dword [eax + 4]
jle 0x45d2a6
mov ecx, edx
add dword [esi + 4], eax
mov dword [esi], ecx
cmp dword [ebp + 0x120], 0
jne 0x45d2b8
add dword [esp + 0x3c], eax
mov eax, dword [ebx]
cmp edi, dword [eax - 0xc]
jl 0x45d180
mov ecx, dword [ebp + 0xf4]
mov edx, dword [ebp + 0x118]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [ebp + 0xfc]
mov ecx, dword [ebp + 0x118]
push eax
push ecx
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edx, dword [ebp + 0xf8]
mov eax, dword [ebp + 0x118]
push edx
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [ebp + 0xf0]
mov edx, dword [ebp + 0x118]
push ecx
push edx
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [ebp + 0x224]
cmp dword [ebp + 0x220], edi
lea esi, [ebp + 0x21c]
jbe 0x45d32d
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebx, dword [esi + 4]
cmp ebx, dword [esi + 8]
jbe 0x45d33b
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
push edi
push esi
push ebx
push esi
lea eax, [esp + 0x40]
push eax
push esi
call fcn.00416cb0
mov ecx, dword [ebp + 0x1fc]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
lea ecx, [esp + 0x64]
call dword [sym.imp.MFC80U.DLL_Ordinal_577]
mov ecx, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x48
ret 0xc