Function at 0x100026d0
Capabilities:
Get common file path
Set registry value
Write file on windows

Disassembly:
mov eax, 0x1000b591
call main
push ecx
sub esp, 0x71c
push ebx
mov ebx, ecx
push esi
xor esi, esi
mov eax, dword [ebx + 0x1f0]
push edi
sub eax, esi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x3c], ebx
je 0x100049fe
dec eax
je 0x1000486b
dec eax
je 0x10004464
dec eax
dec eax
je 0x1000271e
mov dword [ebx + 0x1f0], 0xffffff9d
push esi
jmp 0x100049e3
push 9
lea eax, [ebp - 0xfc]
push dword [ebx + 0x1c8]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
push 0x144
call sub.MFC42.DLL_operatornew
pop ecx
mov ecx, eax
mov dword [ebp - 0x30], ecx
cmp ecx, esi
mov dword [ebp - 4], 0x16
je 0x1000276b
mov eax, dword [ebx + 0x1dc]
lea edx, [ebp - 0xfc]
push edx
mov eax, dword [eax]
push dword [eax - 8]
push eax
call fcn.100083db
jmp 0x1000276d
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov ecx, eax
mov dword [ebx + 0x2b8], eax
call fcn.100088ae
mov eax, dword [ebx + 0x2b8]
lea ecx, [ebx + 0x294]
add eax, 0xa4
push eax
call fcn.1000a722
mov eax, dword [ebx + 0x2b8]
lea ecx, [ebx + 0x298]
add eax, 0xb4
push eax
call fcn.1000a722
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [eax + 0xd4]
add eax, 0xa0
mov dword [ebx + 0x29c], ecx
mov ecx, dword [eax + 0x24]
mov dword [ebx + 0x2a0], ecx
push eax
lea ecx, [ebx + 0x2a4]
call fcn.1000a722
mov eax, dword [ebx + 0x2b8]
lea ecx, [ebx + 0x2a8]
add eax, 0xb0
push eax
call fcn.1000a722
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [eax + 0xd0]
mov dword [ebx + 0x2ac], ecx
mov ecx, dword [eax + 0xc0]
mov dword [ebx + 0x2b0], ecx
lea ecx, [ebx + 0x1e8]
push ecx
lea ecx, [eax + 0xe0]
call fcn.1000a722
mov ecx, dword [ebx + 0x2b8]
lea eax, [ebx + 0x1cc]
push eax
add ecx, 0xe4
call fcn.1000a722
push dword [ebx + 0x230]
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebx + 0x238]
mov dword [ebx + 0x26c], eax
call sub.MFC42.DLL_CDC::FromHandle
push 0x1001131c
lea ecx, [ebp - 0x2c]
mov dword [ebx + 0x224], eax
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebx + 0x2b8]
mov dword [ebp - 4], 0x17
mov ecx, dword [eax + 0x30]
mov ecx, dword [ecx - 8]
cmp ecx, 0xa
jg 0x10002888
mov eax, dword [eax + 0x34]
cmp dword [eax - 8], 0xa
jle 0x100028a6
cmp dword [ebx + 0x208], 3
jge 0x100028a0
mov ecx, ebx
call fcn.1000573e
test al, al
je 0x10004458
mov dword [ebx + 0x208], esi
lea eax, [ebp - 0x4c]
mov ecx, ebx
push eax
call fcn.10004f64
mov ecx, dword [ebx + 0x224]
push 1
mov eax, dword [ecx]
call dword [eax + 0x3c]
mov ecx, dword [ebx + 0x224]
push esi
call sub.MFC42.DLL_CDC::SetTextAlign
mov ecx, dword [ebx + 0x224]
push 1
call sub.MFC42.DLL_CDC::SetBkMode
mov eax, dword [ebx + 0x2b8]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x1c], esi
cmp byte [eax + 0x8c], 0
je 0x10002fa6
mov eax, dword [ebx + 0x280]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebx + 0x284]
cdq
sub eax, edx
mov edx, dword [ebx + 0x278]
sar ecx, 1
sub edx, ecx
push edx
mov edx, dword [ebx + 0x27c]
sar eax, 1
sub edx, eax
push edx
push ecx
push eax
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [ebx + 0x224]
cmp eax, esi
jne 0x1000293a
xor edi, edi
jmp 0x1000293d
mov edi, dword [eax + 4]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 8
push edi
call esi
mov dword [ebp - 0x30], eax
push 4
fild dword [ebp - 0x30]
push edi
fstp qword [ebp - 0x54]
call esi
mov dword [ebp - 0x30], eax
push 0xa
fild dword [ebp - 0x30]
push edi
fdivr qword [ebp - 0x54]
fstp qword [ebp - 0x5c]
call esi
mov dword [ebp - 0x30], eax
push 6
fild dword [ebp - 0x30]
push edi
fstp qword [ebp - 0x54]
call esi
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x2b8]
fild dword [ebp - 0x30]
cmp dword [eax + 0x44], 0
fdivr qword [ebp - 0x54]
fstp qword [ebp - 0xa0]
je 0x10002a97
lea ecx, [ebp - 0xb4]
xor esi, esi
push ecx
mov ecx, dword [eax + 0x44]
push esi
call fcn.1000680e
test eax, eax
je 0x10002a99
movzx eax, word [ebp - 0xae]
mov dword [ebp - 0x30], eax
push esi
lea ecx, [eax + eax]
mov eax, dword [ebx + 0x280]
imul eax, eax, 0xf
cdq
idiv ecx
movzx edi, word [ebp - 0xb0]
lea ecx, [edi + edi]
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 0x284]
imul eax, eax, 0xd
cdq
idiv ecx
mov dword [ebp - 0x50], eax
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [eax + 0x44]
call fcn.1000699f
cmp eax, esi
mov dword [ebp - 0x14], eax
je 0x10002a1d
push 1
push eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_SelectPalette]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_RealizePalette]
mov eax, dword [ebx + 0x280]
mov ecx, dword [ebx + 0x278]
push dword [ebp - 0x30]
lea eax, [eax + eax*4]
cdq
sub eax, edx
push edi
sar eax, 1
sub ecx, eax
mov eax, dword [ebx + 0x27c]
sub eax, dword [ebx + 0x284]
push esi
push esi
push ecx
push eax
mov eax, dword [ebx + 0x224]
push dword [ebp - 0x48]
push dword [ebp - 0x4c]
push 0xffffff
push esi
push dword [eax + 4]
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [eax + 0x44]
call fcn.100068d1
cmp dword [ebp - 0x14], esi
je 0x10002a99
mov eax, dword [ebx + 0x224]
push 1
push dword [ebp - 0x3c]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_SelectPalette]
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_UnrealizeObject]
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x10002a99
xor esi, esi
and byte [ebp - 0x84], 0
and byte [ebp - 0x83], 0
and byte [ebp - 0x82], 0
and byte [ebp - 0x7f], 0
and byte [ebp - 0x7d], 0
lea eax, [ebp - 0x7c]
push str.Arial
push eax
mov dword [ebp - 0x98], 0x78
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], 0x190
mov byte [ebp - 0x81], 1
mov byte [ebp - 0x80], 2
mov byte [ebp - 0x7e], 2
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push 8
call sub.MFC42.DLL_operatornew
cmp eax, esi
pop ecx
je 0x10002b14
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov edi, eax
jmp 0x10002b16
xor edi, edi
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, edi
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push edi
mov eax, dword [ecx]
call dword [eax + 0x30]
push dword [ebx + 0x2b8]
lea eax, [ebp - 0x4c]
push dword [ebx + 0x280]
push dword [ebx + 0x284]
push eax
push dword [ebx + 0x224]
call fcn.100079e8
mov eax, dword [ebx + 0x2b8]
add esp, 0x14
cmp dword [eax + 0x84], esi
jbe 0x10002c22
mov esi, eax
fild dword [esi + 0x64]
fmul qword [ebp - 0x5c]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
fild dword [esi + 0x68]
mov dword [ebp - 0x30], eax
fmul qword [ebp - 0xa0]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x280]
sub eax, edx
mov ecx, eax
mov eax, esi
imul eax, eax, 7
push 8
cdq
pop edi
idiv edi
mov edx, dword [ebp - 0x40]
push esi
sar ecx, 1
push dword [ebx + 0x284]
sub edx, eax
mov eax, esi
imul eax, eax, 7
sub edx, ecx
mov dword [ebp - 0x24], edx
cdq
idiv edi
sub ecx, eax
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x30]
add ecx, eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 0x2b8]
mov dword [ebp - 0x20], ecx
lea ecx, [ebp - 0x32c]
push dword [eax + 0x98]
push dword [ebx + 0x224]
call fcn.10009982
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x18
call fcn.1000a113
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x17
call fcn.10009a25
xor esi, esi
mov eax, dword [ebx + 0x2b8]
cmp dword [eax + 0x7c], esi
jbe 0x10002d01
mov esi, eax
fild dword [esi + 0x4c]
fmul qword [ebp - 0x5c]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
fild dword [esi + 0x50]
mov dword [ebp - 0x30], eax
fmul qword [ebp - 0xa0]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x280]
sub eax, edx
mov ecx, eax
mov eax, esi
imul eax, eax, 7
push 8
cdq
pop edi
idiv edi
mov edx, dword [ebp - 0x40]
push 4
sar ecx, 1
sub edx, eax
mov eax, esi
imul eax, eax, 7
sub edx, ecx
mov dword [ebp - 0x24], edx
cdq
idiv edi
pop edi
push esi
sub ecx, eax
add dword [ebp - 0x1c], ecx
mov ecx, dword [ebx + 0x284]
mov eax, ecx
push ecx
cdq
idiv edi
mov edi, dword [ebp - 0x30]
lea ecx, [ebp - 0x32c]
mov edx, eax
mov eax, dword [ebp - 0x28]
sub eax, edx
sub eax, edi
add eax, dword [ebp - 0x20]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x28], eax
add edi, eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x20], edi
push eax
mov eax, dword [ebx + 0x2b8]
push dword [eax + 0x90]
push dword [ebx + 0x224]
call fcn.10009982
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x19
call fcn.1000a113
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x17
call fcn.10009a25
xor esi, esi
mov eax, dword [ebx + 0x2b8]
cmp dword [eax + 0x80], esi
jbe 0x10002dd5
mov esi, eax
fild dword [esi + 0x58]
fmul qword [ebp - 0x5c]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
fild dword [esi + 0x5c]
mov dword [ebp - 0x30], eax
fmul qword [ebp - 0xa0]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x280]
sub eax, edx
mov ecx, eax
mov eax, esi
imul eax, eax, 7
push 8
cdq
pop edi
idiv edi
mov edx, dword [ebp - 0x40]
push 0xfffffffffffffffe
sar ecx, 1
sub edx, eax
mov eax, esi
imul eax, eax, 7
sub edx, ecx
mov dword [ebp - 0x24], edx
cdq
idiv edi
mov edi, dword [ebx + 0x284]
sub ecx, eax
mov eax, edi
add dword [ebp - 0x1c], ecx
pop ecx
cdq
idiv ecx
mov ecx, dword [ebp - 0x20]
push esi
push edi
add ecx, eax
lea eax, [ebp - 0x28]
mov dword [ebp - 0x20], ecx
sub ecx, dword [ebp - 0x30]
push eax
mov eax, dword [ebx + 0x2b8]
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x32c]
push dword [eax + 0x94]
push dword [ebx + 0x224]
call fcn.10009982
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x1a
call fcn.1000a113
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x17
call fcn.10009a25
xor esi, esi
push 8
call sub.MFC42.DLL_operatornew
cmp eax, esi
pop ecx
je 0x10002dec
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
mov ecx, esi
push str.Arial
push 0x3c
call sub.MFC42.DLL_CFont::CreatePointFont
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x280]
push 8
lea esi, [ebp - 0x4c]
lea eax, [eax + eax*2]
pop ecx
cdq
idiv ecx
lea edi, [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebx + 0x2b8]
push dword [ecx + 0xe0]
call fcn.10009540
mov esi, eax
test esi, esi
jne 0x10002e5d
push 4
call sub.MFC42.DLL_operatornew
mov esi, eax
pop ecx
lea eax, [ebp - 0xf0]
push eax
call sub.MFC42.DLL_CTime::GetTickCount
lea eax, [ebp - 0xc4]
push str._m__d__y__I:_M_p
push eax
mov ecx, esi
call sub.MFC42.DLL_CTime::Format
mov ecx, dword [ebx + 0x204]
mov edx, dword [ebx + 0x1fc]
push dword [eax]
lea eax, [ebp - 0x2c]
shl ecx, 5
add edx, ecx
mov ecx, dword [ebx + 0x2b8]
mov byte [ebp - 4], 0x1b
push dword [edx + 0x1c]
push dword [ecx + 0x18]
push edx
push dword [ecx + 4]
push str._s_wnex__s__s__02d__s
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x1c
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x17
call fcn.1000a6e0
push 0
push ecx
lea eax, [ebp - 0x2c]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x10002ef5
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
push esi
call sub.MFC42.DLL_operatordelete
pop ecx
push 8
call sub.MFC42.DLL_operatornew
test eax, eax
pop ecx
je 0x10002f16
and dword [eax + 4], 0
mov dword [eax], 0x1000c7b0
mov esi, eax
jmp 0x10002f18
xor esi, esi
push dword [ebx + 0x224]
mov ecx, esi
push str.Arial
push 0x30
call sub.MFC42.DLL_CFont::CreatePointFont
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x280]
push 4
lea esi, [ebp - 0x4c]
cdq
pop ecx
lea edi, [ebp - 0x28]
idiv ecx
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x40]
push 0
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub ecx, eax
mov eax, dword [ebx + 0x2b8]
push ecx
mov dword [ebp - 0x24], ecx
add eax, 0x24
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x100043ea
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
jmp 0x100043ea
add eax, 0xc
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000a722
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax - 8]
cmp ecx, 0x14
jle 0x10002fcd
mov eax, 0xaf0
cdq
idiv ecx
mov dword [ebp - 0x98], eax
jmp 0x10002fd7
mov dword [ebp - 0x98], 0x8c
and byte [ebp - 0x84], 0
and byte [ebp - 0x83], 0
and byte [ebp - 0x82], 0
and byte [ebp - 0x7f], 0
and byte [ebp - 0x7d], 0
lea eax, [ebp - 0x7c]
push str.Arial
push eax
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], 0x2bc
mov byte [ebp - 0x81], 1
mov byte [ebp - 0x80], 2
mov byte [ebp - 0x7e], 2
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push 8
call sub.MFC42.DLL_operatornew
cmp eax, esi
pop ecx
je 0x10003049
and dword [eax + 4], 0
mov dword [eax], 0x1000c7b0
mov esi, eax
jmp 0x1000304b
xor esi, esi
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x4c]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x284]
push 8
movsd dword es:[edi], dword [esi]
add ecx, eax
imul eax, eax, 0x15
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
pop esi
mov dword [ebp - 0x28], ecx
idiv esi
push 4
add eax, ecx
mov ecx, dword [ebx + 0x280]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ecx*2]
cdq
idiv esi
add dword [ebp - 0x24], eax
mov eax, ecx
cdq
pop ecx
idiv ecx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x100030ef
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov eax, dword [ebx + 0x2b8]
lea ecx, [ebp - 0x2c]
add eax, 0x10
push eax
call fcn.1000a722
push 8
call sub.MFC42.DLL_operatornew
xor esi, esi
pop ecx
cmp eax, esi
je 0x1000311a
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax - 8]
cmp ecx, 0x48
jle 0x10003135
mov eax, 0x1680
cdq
idiv ecx
mov dword [ebp - 0x98], eax
jmp 0x1000313f
mov dword [ebp - 0x98], 0x50
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x280]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x4c]
push 8
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea esi, [eax + ecx]
mov eax, dword [ebx + 0x284]
imul eax, eax, 0x15
cdq
pop edi
mov dword [ebp - 0x28], esi
idiv edi
push edi
add eax, esi
pop esi
mov dword [ebp - 0x20], eax
lea eax, [ecx + ecx*4]
cdq
idiv esi
push 4
add dword [ebp - 0x24], eax
mov eax, ecx
cdq
pop ecx
idiv ecx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x100031e6
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
push 8
call sub.MFC42.DLL_operatornew
xor esi, esi
pop ecx
cmp eax, esi
je 0x100031ff
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, esi
mov dword [ebp - 0x98], 0x50
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x284]
push 4
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add ecx, eax
movsd dword es:[edi], dword [esi]
lea eax, [ecx + eax*2]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x280]
cdq
pop ecx
idiv ecx
push 8
mov ecx, eax
mov eax, dword [ebp - 0x24]
add ecx, eax
add eax, dword [ebx + 0x288]
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x24], eax
call sub.MFC42.DLL_operatornew
pop ecx
mov ecx, eax
mov dword [ebp - 0x30], ecx
test ecx, ecx
mov byte [ebp - 4], 0x1c
je 0x10003287
push 0
call sub.MFC42.DLL_CBrush::CBrush
jmp 0x10003289
xor eax, eax
mov ecx, dword [ebx + 0x224]
mov byte [ebp - 4], 0x17
test eax, eax
je 0x1000329a
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ecx + 4]
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [ebx + 0x280]
push 0x20
cdq
pop ecx
idiv ecx
mov ecx, dword [ebx + 0x224]
push 0
add dword [ebp - 0x24], eax
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [ebx + 0x224]
push 0xffffff
mov eax, dword [ecx]
call dword [eax + 0x38]
mov eax, dword [ebx + 0x2b8]
push 1
push ecx
add eax, 0x3c
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov eax, dword [ebx + 0x284]
mov ecx, dword [ebp - 0x4c]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
lea edx, [ecx + eax*2]
mov ecx, eax
movsd dword es:[edi], dword [esi]
imul eax, eax, 0xf
movsd dword es:[edi], dword [esi]
add esp, 0x10
add ecx, edx
movsd dword es:[edi], dword [esi]
push 8
mov dword [ebp - 0x28], ecx
cdq
pop esi
idiv esi
push 4
add eax, ecx
pop ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x280]
cdq
idiv ecx
push 0xffffff
mov ecx, eax
mov eax, dword [ebp - 0x24]
add ecx, eax
add eax, dword [ebx + 0x288]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebx + 0x224]
mov dword [ebp - 0x24], eax
mov eax, dword [ecx]
call dword [eax + 0x34]
mov ecx, dword [ebx + 0x224]
push 0
mov eax, dword [ecx]
call dword [eax + 0x38]
mov eax, dword [ebx + 0x2b8]
push 0
mov edi, dword [eax + 0xe8]
mov ecx, edi
call sub.MFC42.DLL_CTime::GetLocalTm
mov esi, dword [eax + 0x14]
push 0
mov ecx, edi
add esi, 0x76c
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0xc]
push 0
mov ecx, edi
mov dword [ebp - 0x30], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x10]
push esi
push dword [ebp - 0x30]
inc eax
push eax
mov eax, dword [ebx + 0x2b8]
push dword [eax + 0x40]
lea eax, [ebp - 0x2c]
push str._s__d__d__d
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea eax, [ebp - 0x2c]
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
add esp, 0x10
mov ecx, dword [ebx + 0x224]
lea eax, [ebp - 0x104]
push dword [ebp - 0x1c]
push dword [ebp - 0x28]
push eax
call sub.MFC42.DLL_CDC::MoveTo
push dword [ebp - 0x1c]
mov ecx, dword [ebx + 0x224]
push dword [ebp - 0x20]
call sub.MFC42.DLL_CDC::LineTo
push dword [ebp - 0x24]
mov ecx, dword [ebx + 0x224]
push dword [ebp - 0x20]
call sub.MFC42.DLL_CDC::LineTo
push dword [ebp - 0x24]
mov ecx, dword [ebx + 0x224]
push dword [ebp - 0x28]
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [ebx + 0x224]
push dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
je 0x10003446
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
push 8
call sub.MFC42.DLL_operatornew
xor esi, esi
pop ecx
cmp eax, esi
je 0x1000345f
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
mov ecx, esi
push str.Arial
push 0x30
call sub.MFC42.DLL_CFont::CreatePointFont
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx + 0x284]
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, ecx
push 8
movsd dword es:[edi], dword [esi]
cdq
pop esi
idiv esi
push 4
mov esi, eax
lea eax, [ecx + ecx*2]
cdq
pop ecx
add esi, dword [ebp - 0x4c]
idiv ecx
mov dword [ebp - 0x28], esi
push 0x10
pop ecx
push 4
add eax, esi
mov esi, dword [ebx + 0x280]
mov dword [ebp - 0x20], eax
mov eax, esi
imul eax, eax, 0x19
cdq
idiv ecx
mov ecx, eax
mov eax, esi
cdq
pop esi
add ecx, dword [ebp - 0x24]
idiv esi
mov dword [ebp - 0x1c], ecx
sub ecx, eax
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebx + 0x2b8]
push dword [ecx + 0xe0]
call fcn.10009540
mov esi, eax
test esi, esi
jne 0x10003503
push 4
call sub.MFC42.DLL_operatornew
mov esi, eax
pop ecx
lea eax, [ebp - 0xec]
push eax
call sub.MFC42.DLL_CTime::GetTickCount
lea eax, [ebp - 0xd8]
push str._m__d__y__I:_M_p
push eax
mov ecx, esi
call sub.MFC42.DLL_CTime::Format
mov ecx, dword [ebx + 0x204]
mov edx, dword [ebx + 0x1fc]
push dword [eax]
lea eax, [ebp - 0x2c]
shl ecx, 5
add edx, ecx
mov ecx, dword [ebx + 0x2b8]
mov byte [ebp - 4], 0x1d
push dword [edx + 0x1c]
push dword [ecx + 0x18]
push edx
push dword [ecx + 4]
push str._s_wnex_s__s_02d__s
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x1c
lea ecx, [ebp - 0xd8]
mov byte [ebp - 4], 0x17
call fcn.1000a6e0
push 1
push ecx
lea eax, [ebp - 0x2c]
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x1000359b
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
push esi
call sub.MFC42.DLL_operatordelete
mov eax, dword [ebx + 0x2b8]
pop ecx
add eax, 0x24
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000a722
mov eax, dword [ebp - 0x2c]
push 0x30
pop edi
mov eax, dword [eax - 8]
cmp eax, 0x6e
jge 0x100035c6
push 0x6e
jmp 0x100035cf
cmp eax, 0xf0
jge 0x100035d0
push 0x50
pop edi
push 8
call sub.MFC42.DLL_operatornew
xor esi, esi
pop ecx
cmp eax, esi
je 0x100035e9
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
mov ecx, esi
push str.Arial
push edi
call sub.MFC42.DLL_CFont::CreatePointFont
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x4c]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x284]
push 8
movsd dword es:[edi], dword [esi]
add ecx, eax
imul eax, eax, 0x21
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
pop esi
mov dword [ebp - 0x28], ecx
idiv esi
push 0x10
add eax, ecx
pop ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x280]
add dword [ebp - 0x24], eax
imul eax, eax, 0xd
cdq
idiv ecx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x2c]
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x10003687
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov eax, dword [ebx + 0x2b8]
lea ecx, [ebp - 0x2c]
add eax, 0x28
push eax
call fcn.1000a722
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov eax, dword [eax - 8]
cmp eax, esi
jle 0x10003780
xor ecx, ecx
cmp eax, 0x6e
setge cl
dec ecx
push 8
and ecx, 0x2a
add ecx, 0x30
mov edi, ecx
call sub.MFC42.DLL_operatornew
cmp eax, esi
pop ecx
je 0x100036d1
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
mov ecx, esi
push str.Arial
push edi
call sub.MFC42.DLL_CFont::CreatePointFont
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x4c]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x284]
push 8
movsd dword es:[edi], dword [esi]
lea edx, [ecx + eax*2]
mov ecx, eax
movsd dword es:[edi], dword [esi]
imul eax, eax, 0x11
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
add ecx, edx
pop esi
cdq
idiv esi
mov dword [ebp - 0x28], ecx
push 0xfffffffffffffff0
pop esi
push 4
add eax, ecx
mov ecx, dword [ebx + 0x280]
mov dword [ebp - 0x20], eax
mov eax, ecx
cdq
idiv esi
mov esi, dword [ebp - 0x1c]
add esi, eax
lea eax, [ecx + ecx*2]
cdq
pop ecx
mov dword [ebp - 0x1c], esi
idiv ecx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
sub esi, eax
lea eax, [ebp - 0x2c]
push eax
mov dword [ebp - 0x24], esi
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x10003780
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov eax, dword [ebx + 0x2b8]
xor edi, edi
cmp dword [eax + 0xc8], edi
jle 0x10003a69
lea ecx, [ebp - 0xe0]
push 1
push ecx
lea ecx, [eax + 0xa8]
call sub.MFC42.DLL_CString::Left
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push 0x10010bec
push dword [eax]
mov byte [ebp - 4], 0x1e
call esi
neg eax
pop ecx
mov byte [ebp - 4], 0x17
sbb eax, eax
pop ecx
inc eax
lea ecx, [ebp - 0xe0]
mov byte [ebp - 0x15], al
call fcn.1000a6e0
cmp byte [ebp - 0x15], 0
je 0x1000396e
push 0x8348
call sub.MFC42.DLL_operatornew
pop ecx
mov dword [ebp - 0x30], eax
cmp eax, edi
mov byte [ebp - 4], 0x1f
je 0x10003800
mov ecx, eax
call fcn.100064e0
mov dword [ebp - 0x14], eax
jmp 0x10003803
mov dword [ebp - 0x14], edi
mov eax, dword [ebx + 0x2b8]
push 0x10010be8
add eax, 0xa8
mov byte [ebp - 4], 0x17
push dword [eax]
call esi
neg eax
sbb eax, eax
pop ecx
inc eax
pop ecx
test al, al
je 0x10003832
push 0xedc
push 0x1000e108
jmp 0x1000383c
push 0x5c8
push str.GIF89a
mov ecx, dword [ebp - 0x14]
call fcn.1000676c
cmp eax, 1
jne 0x1000394d
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0xb4]
push eax
push edi
call fcn.1000680e
test eax, eax
je 0x1000394d
mov eax, dword [ebx + 0x280]
movzx ecx, word [ebp - 0xae]
shl eax, 1
cdq
idiv ecx
movzx edi, word [ebp - 0xb0]
mov dword [ebp - 0x50], ecx
mov ecx, edi
shl ecx, 2
mov esi, eax
mov eax, dword [ebx + 0x284]
cdq
idiv ecx
cmp eax, esi
jge 0x10003897
mov esi, eax
cmp esi, 1
jge 0x1000389f
push 1
pop esi
mov ecx, dword [ebp - 0x14]
push 0
call fcn.1000699f
test eax, eax
mov dword [ebp - 0x38], eax
je 0x100038d4
push 1
push eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_SelectPalette]
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_RealizePalette]
mov ecx, esi
mov eax, dword [ebp - 0x48]
imul ecx, dword [ebp - 0x50]
imul esi, edi
mov edx, dword [ebp - 0x40]
push dword [ebp - 0x50]
add eax, edx
sub eax, ecx
push edi
cdq
push 0
sub eax, edx
push 0
push ecx
sar eax, 1
push esi
push eax
mov eax, dword [ebx + 0x284]
push 4
cdq
pop ecx
idiv ecx
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebx + 0x224]
push ecx
mov ecx, dword [ebp - 0x14]
push 0xffffff
push 0
push dword [eax + 4]
call fcn.100068d1
cmp dword [ebp - 0x38], 0
je 0x1000394d
mov eax, dword [ebx + 0x224]
push 1
push dword [ebp - 0x30]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_SelectPalette]
push dword [ebp - 0x38]
call dword [sym.imp.GDI32.dll_UnrealizeObject]
push dword [ebp - 0x38]
call dword [sym.imp.GDI32.dll_DeleteObject]
xor edi, edi
cmp dword [ebp - 0x14], edi
je 0x10003a69
mov ecx, dword [ebp - 0x14]
call fcn.1000661f
push dword [ebp - 0x14]
call sub.MFC42.DLL_operatordelete
pop ecx
jmp 0x10003a69
mov eax, dword [ebx + 0x2b8]
push 0x20
mov ecx, dword [eax + 0xc8]
mov dword [ebp - 0x98], ecx
mov ecx, 0xfffffc7c
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x8c], ecx
mov ecx, dword [eax + 0xd8]
mov dword [ebp - 0x88], ecx
mov eax, dword [eax + 0xb8]
push eax
lea eax, [ebp - 0x7c]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
add esp, 0xc
push 8
call sub.MFC42.DLL_operatornew
cmp eax, edi
pop ecx
je 0x100039cc
mov dword [eax + 4], edi
mov dword [eax], 0x1000c7b0
mov esi, eax
jmp 0x100039ce
xor esi, esi
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov esi, eax
mov eax, dword [ebx + 0x2b8]
add eax, 0xa8
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000a722
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax - 8]
push eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebx + 0x224]
push dword [eax - 8]
mov edi, dword [ecx]
push eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x34]
add eax, dword [ebp - 0x40]
cdq
sub eax, edx
sar eax, 1
push eax
push dword [ebp - 0x44]
call dword [edi + 0x64]
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
xor edi, edi
cmp eax, edi
je 0x10003a5d
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x8c], edi
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [eax + 0xcc]
cmp ecx, edi
jle 0x10003b78
mov dword [ebp - 0x98], ecx
mov ecx, dword [eax + 0xdc]
mov dword [ebp - 0x88], ecx
push dword [eax + 0xbc]
lea eax, [ebp - 0x7c]
push eax
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push 8
call sub.MFC42.DLL_operatornew
xor esi, esi
pop ecx
cmp eax, esi
je 0x10003ab9
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x2b8]
add eax, 0xac
lea ecx, [ebp - 0x2c]
push eax
call fcn.1000a722
lea eax, [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x2c]
push dword [eax - 8]
push eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov eax, dword [ebx + 0x284]
push 4
cdq
pop ecx
lea esi, [ebp - 0x4c]
idiv ecx
lea edi, [ebp - 0x28]
mov ecx, dword [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x42
sub ecx, eax
mov eax, dword [ebx + 0x280]
mov dword [ebp - 0x20], ecx
sub ecx, dword [ebp - 0x34]
cdq
mov dword [ebp - 0x28], ecx
pop ecx
idiv ecx
mov edx, dword [ebp - 0x2c]
mov ecx, eax
mov eax, dword [ebp - 0x1c]
sub eax, ecx
mov ecx, dword [ebx + 0x224]
sub eax, dword [ebp - 0x30]
mov esi, dword [ecx]
mov dword [ebp - 0x24], eax
push dword [edx - 8]
push edx
push eax
push dword [ebp - 0x28]
call dword [esi + 0x64]
mov ecx, dword [ebx + 0x224]
push dword [ebp - 0x14]
mov eax, dword [ecx]
call dword [eax + 0x30]
test eax, eax
je 0x10003b78
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov eax, dword [ebx + 0x224]
test eax, eax
jne 0x10003b86
xor edi, edi
jmp 0x10003b89
mov edi, dword [eax + 4]
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 8
push edi
call esi
push 4
push edi
call esi
push 0xa
push edi
call esi
mov dword [ebp - 0x30], eax
push 6
fild dword [ebp - 0x30]
push edi
fstp qword [ebp - 0x54]
call esi
mov dword [ebp - 0x30], eax
mov eax, dword [ebx + 0x2b8]
fild dword [ebp - 0x30]
cmp dword [eax + 0x7c], 0
fdivr qword [ebp - 0x54]
fstp qword [ebp - 0x54]
jbe 0x10003c6c
fild dword [eax + 0x50]
fmul qword [ebp - 0x54]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
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 edi, dword [ebx + 0x280]
mov dword [ebp - 0x30], eax
mov eax, edi
push 0x10
cdq
pop ecx
mov esi, dword [ebp - 0x40]
idiv ecx
push 0x40
pop ecx
push 0x10
sub esi, eax
mov eax, edi
cdq
idiv ecx
mov ecx, dword [ebx + 0x284]
mov dword [ebp - 0x1c], esi
add eax, esi
pop esi
sub eax, dword [ebp - 0x30]
push edi
push ecx
mov dword [ebp - 0x24], eax
mov eax, ecx
cdq
idiv esi
add dword [ebp - 0x28], eax
lea eax, [ecx + ecx*2]
cdq
sub eax, edx
lea ecx, [ebp - 0x32c]
sar eax, 1
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 0x2b8]
push dword [eax + 0x90]
push dword [ebx + 0x224]
call fcn.10009982
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x20
call fcn.1000a113
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x17
call fcn.10009a25
and byte [ebp - 0x84], 0
and byte [ebp - 0x83], 0
and byte [ebp - 0x82], 0
and byte [ebp - 0x7f], 0
and byte [ebp - 0x7d], 0
lea eax, [ebp - 0x7c]
xor esi, esi
push str.Arial
push eax
mov dword [ebp - 0x98], 0x30
mov dword [ebp - 0x94], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x8c], esi
mov dword [ebp - 0x88], 0x2bc
mov byte [ebp - 0x81], 1
mov byte [ebp - 0x80], 2
mov byte [ebp - 0x7e], 2
call sub.MSVCRT.dll_strcpy
pop ecx
pop ecx
push 8
call sub.MFC42.DLL_operatornew
cmp eax, esi
pop ecx
je 0x10003ce7
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
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 [ebx + 0x280]
mov dword [ebp - 0x14], eax
mov eax, esi
push 0x10
imul eax, eax, 0x19
cdq
pop ecx
idiv ecx
push 8
pop edi
push edi
mov ecx, eax
mov eax, esi
cdq
idiv edi
add ecx, dword [ebp - 0x48]
mov dword [ebp - 0x24], ecx
add eax, ecx
pop ecx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 0x284]
add dword [ebp - 0x28], eax
mov eax, esi
imul eax, eax, 0xfffffffd
cdq
idiv ecx
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
add dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x2b8]
add eax, 0x38
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x10003d94
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov eax, dword [ebx + 0x1cc]
cmp dword [eax - 8], 0
jle 0x10003e78
push 8
call sub.MFC42.DLL_operatornew
xor esi, esi
pop ecx
cmp eax, esi
je 0x10003dbd
mov dword [eax + 4], esi
mov dword [eax], 0x1000c7b0
mov esi, eax
push dword [ebx + 0x224]
lea eax, [ebp - 0x98]
mov ecx, esi
push eax
call sub.MFC42.DLL_CFont::CreatePointFontIndirect
mov ecx, dword [ebx + 0x224]
push esi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [ebp - 0x4c]
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x284]
push 8
movsd dword es:[edi], dword [esi]
add ecx, eax
imul eax, eax, 0x1f
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
cdq
pop esi
mov dword [ebp - 0x28], ecx
idiv esi
push 4
pop esi
push 4
pop edi
push 0x10
add eax, ecx
mov ecx, dword [ebx + 0x280]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x288]
cdq
idiv esi
mov esi, eax
mov eax, ecx
cdq
idiv edi
add eax, dword [ebp - 0x24]
add esi, eax
mov eax, ecx
cdq
pop ecx
mov dword [ebp - 0x24], esi
idiv ecx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x30], esp
add eax, esi
mov dword [ebp - 0x1c], eax
lea eax, [ebx + 0x1cc]
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x10003e78
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov eax, dword [ebx + 0x2b8]
cmp dword [eax + 0x80], 0
jbe 0x10003f55
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
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 [ebx + 0x284]
push 0x10
mov eax, esi
pop ecx
imul eax, eax, 0x13
cdq
idiv ecx
push 0xfffffffffffffff0
mov edi, dword [ebp - 0x1c]
pop ecx
push 4
add eax, dword [ebp - 0x4c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebx + 0x280]
cdq
idiv ecx
pop ecx
add edi, eax
lea eax, [esi + esi*4]
cdq
idiv ecx
mov dword [ebp - 0x1c], edi
add eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x280]
lea eax, [eax + eax*2]
cdq
idiv ecx
mov ecx, dword [ebx + 0x2b8]
sub edi, eax
mov dword [ebp - 0x24], edi
cmp dword [ecx + 0x7c], 0
jne 0x10003efd
lea eax, [esi + esi*8]
push 8
cdq
pop edi
idiv edi
sub dword [ebp - 0x28], eax
sub dword [ebp - 0x20], eax
jmp 0x10003f15
mov eax, dword [ecx + 0x18]
cmp dword [eax - 8], 0xc
jle 0x10003f15
lea eax, [esi + esi*4]
push 8
cdq
pop edi
idiv edi
add dword [ebp - 0x28], eax
add dword [ebp - 0x20], eax
push dword [ebx + 0x280]
lea eax, [ebp - 0x28]
push esi
push eax
push dword [ecx + 0x94]
lea ecx, [ebp - 0x32c]
push dword [ebx + 0x224]
call fcn.10009982
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x21
call fcn.1000a113
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x17
call fcn.10009a25
mov eax, dword [ebx + 0x2b8]
cmp dword [eax + 0x88], 0
jbe 0x10003ff9
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
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 [ebx + 0x284]
push 8
pop ecx
mov edi, dword [ebx + 0x280]
lea eax, [esi + esi*2]
push 0xfffffffffffffffc
cdq
idiv ecx
mov ecx, eax
lea eax, [esi + esi*4]
add ecx, dword [ebp - 0x4c]
cdq
sub eax, edx
mov dword [ebp - 0x28], ecx
sar eax, 1
add eax, ecx
pop ecx
mov dword [ebp - 0x20], eax
mov eax, edi
cdq
idiv ecx
push 8
pop ecx
push edi
push esi
add dword [ebp - 0x1c], eax
lea eax, [edi + edi*2]
cdq
idiv ecx
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 0x2b8]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x32c]
push dword [eax + 0x9c]
push dword [ebx + 0x224]
call fcn.10009982
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x22
call fcn.1000a113
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x17
call fcn.10009a25
mov eax, dword [ebx + 0x2b8]
cmp dword [eax + 0x84], 0
jbe 0x100040c0
fild dword [eax + 0x68]
fmul qword [ebp - 0x54]
fmul qword [0x1000c538]
call sub.MSVCRT.dll__ftol
lea esi, [ebp - 0x4c]
lea edi, [ebp - 0x28]
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 [ebx + 0x284]
mov ecx, eax
mov eax, esi
push 4
imul eax, eax, 0xf
cdq
pop edi
idiv edi
push 8
mov edi, eax
lea eax, [esi + esi*2]
add edi, dword [ebp - 0x4c]
cdq
sub eax, edx
mov dword [ebp - 0x28], edi
sar eax, 1
add eax, edi
pop edi
mov dword [ebp - 0x20], eax
mov eax, ecx
mov ecx, dword [ebx + 0x280]
cdq
sub eax, edx
push ecx
mov dword [ebp - 0x3c], eax
lea eax, [ecx + ecx*4]
cdq
idiv edi
sar dword [ebp - 0x3c], 1
mov edx, dword [ebp - 0x3c]
push esi
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x30], eax
sub eax, edx
add dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x24]
add eax, edx
add eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
lea eax, [ebp - 0x28]
push eax
mov eax, dword [ebx + 0x2b8]
push dword [eax + 0x98]
push dword [ebx + 0x224]
call fcn.10009982
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x23
call fcn.1000a113
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 0x17
call fcn.10009a25
mov eax, dword [ebx + 0x2b8]
cmp dword [eax + 0x44], 0
je 0x10004203
lea ecx, [ebp - 0xb4]
push ecx
mov ecx, dword [eax + 0x44]
push 0
call fcn.1000680e
test eax, eax
je 0x10004203
mov eax, dword [ebx + 0x280]
movzx ecx, word [ebp - 0xae]
cdq
idiv ecx
movzx esi, word [ebp - 0xb0]
mov dword [ebp - 0x50], ecx
mov ecx, esi
shl ecx, 3
mov edi, eax
mov eax, dword [ebx + 0x284]
imul eax, eax, 7
cdq
idiv ecx
cmp eax, edi
jge 0x1000411c
mov edi, eax
cmp edi, 1
jge 0x10004124
push 1
pop edi
mov eax, dword [ebx + 0x2b8]
push 0
mov ecx, dword [eax + 0x44]
call fcn.1000699f
test eax, eax
mov dword [ebp - 0x14], eax
je 0x1000415f
push 1
push eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_SelectPalette]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebx + 0x224]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_RealizePalette]
mov eax, dword [ebp - 0x50]
push dword [ebp - 0x50]
imul eax, edi
push esi
push 0
push 0
push eax
cdq
sub eax, edx
mov ecx, esi
mov esi, eax
mov eax, dword [ebx + 0x280]
imul ecx, edi
imul eax, eax, 0xd
push ecx
push 0x18
cdq
pop edi
idiv edi
sar esi, 1
sub eax, esi
add eax, dword [ebp - 0x48]
push eax
mov eax, ecx
cdq
sub eax, edx
push 0x10
mov ecx, eax
mov eax, dword [ebx + 0x284]
imul eax, eax, 7
cdq
pop esi
idiv esi
mov edx, dword [ebp - 0x4c]
sar ecx, 1
sub eax, ecx
mov ecx, dword [ebx + 0x288]
add edx, eax
lea eax, [edx + ecx*2]
push eax
mov eax, dword [ebx + 0x224]
push 0xffffff
push 0
push dword [eax + 4]
mov eax, dword [ebx + 0x2b8]
mov ecx, dword [eax + 0x44]
call fcn.100068d1
cmp dword [ebp - 0x14], 0
je 0x10004203
mov eax, dword [ebx + 0x224]
push 1
push dword [ebp - 0x3c]
push dword [eax + 4]
call dword [sym.imp.GDI32.dll_SelectPalette]
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_UnrealizeObject]
push dword [ebp - 0x14]
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [ebp - 0x4c]
mov ecx, ebx
push eax
call fcn.100050f8
cmp byte [ebx + 0x221], 0
jne 0x1000421e
mov ecx, ebx
call fcn.1000576e
mov eax, dword [ebx + 0x2b8]
mov eax, dword [eax + 0x30]
cmp dword [eax - 8], 0
jle 0x100043ea
push 8
call sub.MFC42.DLL_operatornew
xor edi, edi
pop ecx
cmp eax, edi
je 0x1000424a
mov dword [eax + 4], edi
mov dword [eax], 0x1000c7b0
mov edi, eax
push dword [ebx + 0x224]
mov esi, str.Times_New_Roman
mov ecx, edi
push esi
push 0xb4
call sub.MFC42.DLL_CFont::CreatePointFont
mov ecx, dword [ebx + 0x224]
push edi
mov eax, dword [ecx]
call dword [eax + 0x30]
mov ecx, dword [ebx + 0x280]
mov edi, dword [ebx + 0x284]
mov dword [ebp - 0x14], eax
mov eax, ecx
shl eax, 2
push eax
mov eax, edi
imul eax, eax, 0xf
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, ecx
imul eax, eax, 7
cdq
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x28]
push edi
mov edi, dword [sym.imp.USER32.dll_SetRect]
push eax
call edi
mov eax, dword [ebx + 0x2b8]
push 1
push ecx
add eax, 0x30
mov ecx, esp
mov dword [ebp - 0x30], esp
push eax
call sub.MFC42.DLL_CString::CString_2
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001f64
mov ecx, dword [ebx + 0x224]
add esp, 0x10
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x100042ea
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
mov eax, dword [ebx + 0x284]
mov ecx, dword [ebx + 0x280]
imul eax, eax, 0xf
lea edx, [ecx + ecx*4]
shl edx, 1
push edx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, ecx
shl eax, 3
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebx + 0x284]
cdq
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x28]
push eax
call edi
push 8
call sub.MFC42.DLL_operatornew
test eax, eax
pop ecx
je 0x1000433d
and dword [eax + 4], 0
mov dword [eax], 0x1000c7b0
mov dword [ebp - 0x3c], eax
jmp 0x10004341
and dword [ebp - 0x3c], 0
push dword [ebx + 0x224]
mov ecx, dword [ebp - 0x3c]
push esi
push 0x6e
call sub.MFC42.DLL_CFont::CreatePointFont
mov ecx, dword [ebx + 0x224]
push dword [ebp - 0x3c]
mov eax, dword [ecx]
call dword [eax + 0x30]
mov dword [ebp - 0x14], eax
mov eax, dword [ebx + 0x2b8]
push 1
add eax, 0x34
push 0
push eax
lea eax, [ebp - 0x28]
push eax
push dword [ebx + 0x224]
call fcn.10001d69
mov ecx, dword [ebx + 0x224]
add esp, 0x14
mov byte [ebp - 0x15], al
mov eax, dword [ecx]
push dword [ebp - 0x14]
call dword [eax + 0x30]
test eax, eax
je 0x100043a1
mov edx, dword [eax]
push 1
mov ecx, eax
call dword [edx + 4]
cmp byte [ebp - 0x15], 0
jne 0x100043ea
mov ecx, ebx
call fcn.1000573e
test al, al
je 0x100043ea
mov eax, dword [ebx + 0x284]
mov ecx, dword [ebx + 0x280]
imul eax, eax, 0xf
lea edx, [ecx + ecx*4]
shl edx, 1
push edx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebx + 0x284]
cdq
sub eax, edx
push ecx
sar eax, 1
push eax
lea eax, [ebp - 0x28]
push eax
call edi
cmp byte [ebp - 0x15], 0
je 0x10004322
mov esi, dword [ebx + 0x2b8]
test esi, esi
je 0x10004402
mov ecx, esi
call fcn.100086c1
push esi
call sub.MFC42.DLL_operatordelete
pop ecx
mov ecx, dword [ebx + 0x200]
dec dword [ebx + 0x208]
mov eax, dword [ebx + 0x208]
dec ecx
cmp dword [ebx + 0x204], ecx
jl 0x10004429
mov ecx, dword [ebx + 0x218]
cmp dword [ecx - 8], 0
jle 0x10004443
cmp eax, 1
jge 0x10004443
mov ecx, ebx
call fcn.1000573e
test al, al
je 0x10004458
mov dword [ebx + 0x208], 3
mov ecx, ebx
call fcn.100050b4
test al, al
jne 0x10004458
mov dword [ebx + 0x1f0], 5
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
jmp 0x10004d8c
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString_1
mov dword [ebp - 4], 0xe
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x38], esi
cmp dword [ebp - 0x38], 0x28
jge 0x100044b6
mov eax, dword [ebp - 0x38]
push 8
cdq
pop ecx
mov esi, dword [ebx + 0x1c8]
idiv ecx
mov eax, dword [ebp - 0x38]
push 0xa
pop edi
mov ecx, edx
cdq
idiv edi
mov al, byte [ecx + esi]
mov ecx, dword [ebp - 0x38]
mov esi, str.gORgONzOLa
xor al, byte [edx + esi]
inc dword [ebp - 0x38]
xor esi, esi
mov byte [ebp + ecx - 0x84], al
jmp 0x1000447a
mov eax, dword [ebx + 0x1dc]
lea ecx, [ebp - 0x84]
push 2
push ecx
mov eax, dword [eax]
lea ecx, [ebp - 0x1a4]
push dword [eax - 8]
push eax
call fcn.100061e4
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
mov byte [ebp - 4], 0x10
call fcn.10006014
test al, al
je 0x1000480d
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll_atol]
pop ecx
mov dword [ebx + 0x200], eax
push 0xffffffffffffffce
pop ecx
cmp eax, ecx
jne 0x1000451c
or dword [ebx + 0x200], 0xffffffff
mov dword [ebx + 0x1f0], ecx
push 0x32
jmp 0x10004817
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.10006014
test al, al
jne 0x10004547
or dword [ebx + 0x200], 0xffffffff
mov dword [ebx + 0x1f0], 0xffffffcd
push 0x33
jmp 0x10004817
lea eax, [ebp - 0x14]
lea ecx, [ebx + 0x1e8]
push eax
call fcn.1000a722
mov eax, dword [ebx + 0x200]
shl eax, 5
push eax
call dword [sym.imp.MSVCRT.dll_malloc]
pop ecx
mov edi, 0x1001131c
push edi
lea ecx, [ebx + 0x218]
mov dword [ebx + 0x1fc], eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x38], esi
call fcn.1000a6ec
and byte [ebx + 0x220], 0
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebx + 0x200]
jge 0x100047a3
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.10006014
test al, al
je 0x10004799
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll_atol]
mov esi, eax
pop ecx
cmp esi, 0x3e8
jge 0x1000462e
cmp byte [ebx + 0x220], 0
jne 0x10004604
lea esi, [ebx + 0x218]
lea eax, [ebp - 0xe8]
push esi
push str.One_or_more_codes_were_invalid._
push eax
call sub.MFC42.DLL_operator_1
push eax
mov ecx, esi
mov byte [ebp - 4], 0x11
call fcn.1000a722
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 0x10
call fcn.1000a6e0
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
mov byte [ebx + 0x220], 1
call fcn.10006014
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.10006014
jmp 0x10004799
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x30]
push eax
call sub.MFC42.DLL_CString::CString_2
push edi
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x12
call sub.MFC42.DLL_CString::CString
lea eax, [ebp - 0x9c]
lea ecx, [ebp - 0x1a4]
push eax
mov byte [ebp - 4], 0x13
call fcn.10006014
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.10006014
test al, al
je 0x10004680
push dword [ebp - 0x14]
call dword [sym.imp.MSVCRT.dll_atol]
pop ecx
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x64
jle 0x100046df
lea ecx, [ebp - 0x58]
call sub.MFC42.DLL_CString::CString_1
cmp dword [ebp - 0x38], 0x65
mov byte [ebp - 4], 0x14
mov eax, edi
je 0x1000469f
mov eax, 0x10010ba4
push eax
mov eax, dword [ebp - 0x38]
add eax, 0xffffff9c
push eax
push esi
push dword [ebp - 0x9c]
lea eax, [ebp - 0x58]
push str.You_can_only_print_the__s_coupon___d___d_time_s._
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x18
lea eax, [ebp - 0x58]
lea ecx, [ebx + 0x218]
push eax
call sub.MFC42.DLL_CString::operator
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x13
call fcn.1000a6e0
jmp 0x1000477e
mov esi, dword [ebp - 0x2c]
push dword [ebp - 0x30]
shl esi, 5
mov eax, esi
push str._012s
add eax, dword [ebx + 0x1fc]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [ebx + 0x1fc]
add esp, 0xc
push 0xe
lea eax, [esi + eax + 0xe]
push dword [ebp - 0x9c]
push eax
call dword [sym.imp.MSVCRT.dll_strncpy]
mov eax, dword [ebx + 0x1fc]
mov ecx, dword [ebp - 0x38]
add esp, 0xc
cmp dword [ebp - 0x2c], 0
mov dword [esi + eax + 0x1c], ecx
jle 0x10004776
mov edi, dword [ebp - 0x2c]
test edi, edi
jle 0x1000475c
mov eax, dword [ebx + 0x1fc]
push 0xe
lea ecx, [esi + eax + 0xe]
push ecx
mov ecx, edi
shl ecx, 5
lea eax, [ecx + eax - 0x12]
push eax
call dword [sym.imp.MSVCRT.dll__strnicmp]
add esp, 0xc
test eax, eax
jge 0x1000475c
dec edi
jmp 0x10004731
cmp edi, dword [ebp - 0x2c]
jge 0x10004776
mov eax, dword [ebx + 0x1fc]
mov ecx, edi
add esi, eax
shl ecx, 5
push esi
add ecx, eax
call fcn.10005f79
inc dword [ebp - 0x2c]
mov edi, 0x1001131c
lea ecx, [ebp - 0x9c]
mov byte [ebp - 4], 0x12
call fcn.1000a6e0
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.1000a6e0
inc dword [ebp - 0x50]
xor esi, esi
jmp 0x1000458e
mov eax, dword [ebp - 0x2c]
cmp eax, esi
jle 0x100047db
mov ecx, ebx
mov dword [ebx + 0x200], eax
call fcn.1000569d
test al, al
jne 0x100047c4
or dword [ebx + 0x1f0], 0xffffffff
jmp 0x100047f6
mov dword [ebx + 0x204], esi
mov dword [ebx + 0x208], 3
push 0xfffffc14
jmp 0x10004817
mov eax, dword [ebx + 0x218]
cmp dword [eax - 8], esi
jle 0x10004809
or dword [ebx + 0x1f0], 0xffffffff
cmp dword [ebx + 0x200], 1
jle 0x100047fa
push 0xfffffffffffffff3
jmp 0x10004817
cmp dword [ebp - 0x38], 0x64
jle 0x10004515
push dword [ebp - 0x38]
jmp 0x10004817
push 0xffffffffffffffcc
jmp 0x1000480f
push 0xffffffffffffffab
pop eax
mov dword [ebx + 0x1f0], eax
push eax
mov ecx, ebx
call fcn.10005f52
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 0xf
call fcn.1000623f
jmp 0x1000484a
cmp dword [ebx + 0x1f0], 2
lea eax, [ebx + 0x1f0]
jne 0x1000485f
mov dword [eax], 4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
jmp 0x10004d8c
push dword [ebx + 0x1dc]
lea esi, [ebx + 0x1c8]
mov ecx, esi
call fcn.1000a722
lea eax, [ebp - 0xd4]
push 8
push eax
mov ecx, esi
call sub.MFC42.DLL_CString::Left
push eax
mov ecx, esi
mov dword [ebp - 4], 0xd
call fcn.1000a722
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xd4]
call fcn.1000a6e0
mov eax, dword [esi]
cmp dword [eax - 8], 1
jl 0x100048e7
push eax
call dword [sym.imp.MSVCRT.dll_atol]
cmp eax, 0x98967f
pop ecx
mov dword [ebp - 0x50], eax
jae 0x100048f6
cmp byte [ebx + 0x1f9], 0
je 0x100048e7
or dword [ebx + 0x1f0], 0xffffffff
push 0x1001131c
mov ecx, esi
call fcn.1000a6ec
jmp 0x100049e1
push 0xffffffffffffff9f
pop eax
mov dword [ebx + 0x1f0], eax
push eax
jmp 0x100049e3
mov esi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
lea eax, [ebp - 0x30]
push eax
push 0xf003f
mov edi, str.SoftwareMicrosoftWindowsCurrentVersion
push 0
push edi
push 0x80000002
call esi
test eax, eax
jne 0x10004939
lea eax, [ebp - 0x50]
push 4
push eax
push 3
push 0
push str.UccSpecB
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea eax, [ebp - 0x72c]
push 0x400
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
jbe 0x10004999
lea eax, [ebp - 0x72c]
push str.uccspecb.sys
push eax
call sub.MSVCRT.dll_strcat
pop ecx
lea eax, [ebp - 0x72c]
pop ecx
push 0x100109a8
push eax
call dword [sym.imp.MSVCRT.dll_fopen]
pop ecx
mov dword [ebp - 0x58], eax
test eax, eax
pop ecx
je 0x10004999
push eax
push 1
lea eax, [ebp - 0x50]
push 4
push eax
call dword [sym.imp.MSVCRT.dll_fwrite]
add esp, 0x10
push dword [ebp - 0x58]
call dword [sym.imp.MSVCRT.dll_fclose]
pop ecx
lea eax, [ebp - 0x3c]
push eax
push 0xf003f
push 0
push edi
push 0x80000001
call esi
test eax, eax
jne 0x100049d1
lea eax, [ebp - 0x50]
push 4
push eax
push 3
push 0
push str.UccSpecB
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0x3c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp byte [ebx + 0x1f9], 0
je 0x100049ef
or dword [ebx + 0x1f0], 0xffffffff
push 0
mov ecx, ebx
call fcn.10005f52
jmp 0x10004d91
mov dword [ebx + 0x1f0], 2
jmp 0x10004d91
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::CString_1
xor esi, esi
push 0x1001131c
lea ecx, [ebp - 0x38]
mov dword [ebp - 4], esi
call sub.MFC42.DLL_CString::CString
mov byte [ebp - 4], 2
cmp esi, 0x28
jge 0x10004a4d
mov eax, esi
push 0xa
cdq
pop ecx
idiv ecx
mov eax, esi
push 8
pop edi
mov ecx, edx
cdq
idiv edi
mov edi, str.gORgONzOLa
mov al, byte [ecx + edi]
mov edi, str.28571419
xor al, byte [edx + edi]
inc esi
mov byte [ebp + esi - 0x85], al
jmp 0x10004a1c
mov eax, dword [ebx + 0x1dc]
lea ecx, [ebp - 0x84]
push 2
push ecx
mov eax, dword [eax]
lea ecx, [ebp - 0x1a4]
push dword [eax - 8]
push eax
call fcn.100061e4
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
mov byte [ebp - 4], 3
call fcn.10006014
test al, al
je 0x10004b03
lea eax, [ebp - 0xd0]
push 7
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Left
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
push str.server
push dword [eax]
mov byte [ebp - 4], 4
call esi
pop ecx
mov byte [ebp - 4], 3
pop ecx
xor ecx, ecx
test eax, eax
sete cl
mov byte [ebp - 0x15], cl
lea ecx, [ebp - 0xd0]
call fcn.1000a6e0
cmp byte [ebp - 0x15], 0
je 0x10004b09
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
mov eax, dword [eax - 8]
sub eax, 7
push eax
lea eax, [ebp - 0xb8]
push eax
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [ebx + 0x1e4]
mov byte [ebp - 4], 5
call fcn.1000a722
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 3
call fcn.1000a6e0
jmp 0x10004b09
mov esi, dword [sym.imp.MSVCRT.dll__mbscmp]
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.10006014
test al, al
je 0x10004b93
lea eax, [ebp - 0xe4]
push 5
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Left
push str.name
mov byte [ebp - 4], 6
push dword [eax]
call esi
pop ecx
mov byte [ebp - 4], 3
pop ecx
xor ecx, ecx
test eax, eax
sete cl
mov byte [ebp - 0x15], cl
lea ecx, [ebp - 0xe4]
call fcn.1000a6e0
cmp byte [ebp - 0x15], 0
je 0x10004b93
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
mov eax, dword [eax - 8]
sub eax, 5
push eax
lea eax, [ebp - 0xcc]
push eax
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [ebx + 0x1e0]
mov byte [ebp - 4], 7
call fcn.1000a722
lea ecx, [ebp - 0xcc]
mov byte [ebp - 4], 3
call fcn.1000a6e0
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.10006014
test al, al
je 0x10004c1d
lea eax, [ebp - 0xdc]
push 7
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Left
push str.script
mov byte [ebp - 4], 8
push dword [eax]
call esi
pop ecx
mov byte [ebp - 4], 3
pop ecx
xor ecx, ecx
test eax, eax
sete cl
mov byte [ebp - 0x15], cl
lea ecx, [ebp - 0xdc]
call fcn.1000a6e0
cmp byte [ebp - 0x15], 0
je 0x10004c1d
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
mov eax, dword [eax - 8]
sub eax, 7
push eax
lea eax, [ebp - 0xbc]
push eax
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [ebx + 0x1ec]
mov byte [ebp - 4], 9
call fcn.1000a722
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 3
call fcn.1000a6e0
lea eax, [ebp - 0x14]
lea ecx, [ebp - 0x1a4]
push eax
call fcn.10006014
test al, al
je 0x10004ca4
lea eax, [ebp - 0xc0]
push 6
push eax
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::Left
push str.error
mov byte [ebp - 4], 0xa
push dword [eax]
call esi
pop ecx
mov byte [ebp - 4], 3
pop ecx
xor ecx, ecx
test eax, eax
sete cl
mov byte [ebp - 0x15], cl
lea ecx, [ebp - 0xc0]
call fcn.1000a6e0
cmp byte [ebp - 0x15], 0
je 0x10004ca4
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
mov eax, dword [eax - 8]
sub eax, 6
push eax
lea eax, [ebp - 0xc8]
push eax
call sub.MFC42.DLL_CString::Right
push eax
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xb
call fcn.1000a722
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 3
call fcn.1000a6e0
lea ecx, [ebp - 0x1a4]
mov byte [ebp - 4], 2
call fcn.1000623f
jmp 0x10004cd0
mov eax, dword [ebx + 0x1e0]
push 1
pop esi
cmp dword [eax - 8], esi
mov dword [ebp - 4], esi
jge 0x10004cf7
push 0xffffffffffffff9e
mov ecx, ebx
pop eax
push eax
mov dword [ebx + 0x1f0], eax
call fcn.10005f52
jmp 0x10004d79
mov eax, dword [ebp - 0x38]
xor ecx, ecx
cmp dword [eax - 8], ecx
jle 0x10004d39
and byte [ebx + 0x222], cl
push ecx
push str.WARNING
push eax
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0x32
mov ecx, ebx
mov dword [ebx + 0x1f0], 0xffffffd5
call fcn.10005f52
lea eax, [ebp - 0x38]
lea ecx, [ebx + 0x218]
push eax
call fcn.1000a722
jmp 0x10004d79
mov ecx, ebx
mov byte [ebx + 0x222], 1
call fcn.10002152
mov eax, dword [ebx + 0x1c8]
cmp dword [eax - 8], 8
jge 0x10004d5b
mov dword [ebx + 0x1f0], esi
jmp 0x10004d79
mov eax, dword [ebx + 0x1c0]
cmp dword [eax - 8], esi
jge 0x10004d6f
or dword [ebx + 0x1f0], 0xffffffff
jmp 0x10004d79
mov dword [ebx + 0x1f0], 2
and byte [ebp - 4], 0
lea ecx, [ebp - 0x38]
call fcn.1000a6e0
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.1000a6e0
lea ecx, [ebp - 0xa4]
call sub.MFC42.DLL_CString::CString_1
lea eax, [ebp - 0xa4]
mov ecx, ebx
push eax
mov dword [ebp - 4], 0x24
call fcn.100023c7
push dword [ebp - 0xa4]
mov ecx, ebx
call fcn.10005d9f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xa4]
call fcn.1000a6e0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret 4