Function at 0x4cbf60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57d680
mov eax, dword fs:[0]
push eax
sub esp, 0xfec
mov eax, dword [0x5fc150]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0xfa8], ebx
call fcn.0040baa0
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
mov edi, eax
push 0x58
push dword [ebx + 0x10]
mov dword [ebp - 0xfb4], edi
call esi
push 0x5a
push dword [ebx + 0x10]
mov dword [ebp - 0xfa4], eax
call esi
push 0x6e
push dword [ebx + 0x10]
mov dword [ebp - 0xfac], eax
call esi
push 0x6f
push dword [ebx + 0x10]
mov dword [ebp - 0xfd4], eax
call esi
push 0x70
push dword [ebx + 0x10]
mov dword [ebp - 0xfd0], eax
call esi
push 0x71
push dword [ebx + 0x10]
mov dword [ebp - 0xeb4], eax
call esi
push 8
push dword [ebx + 0x10]
mov dword [ebp - 0xeb0], eax
call esi
mov ecx, dword [ebp - 0xfd4]
sub ecx, dword [ebp - 0xeb4]
push 0xa
push dword [ebx + 0x10]
sub ecx, eax
mov dword [ebp - 0xeac], ecx
call esi
mov ecx, dword [ebp - 0xfd0]
mov edx, dword [ebp - 0xeb0]
sub ecx, edx
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
sub ecx, eax
lea eax, [edi + 0xf0]
mov dword [ebp - 0xea8], ecx
cmp dword [eax + 0xd8], 0
mov dword [ebp - 0xfc4], eax
jne 0x4cc08e
cmp dword [eax + 0xdc], 0
jne 0x4cc08e
cmp dword [eax + 0xe0], 0
jne 0x4cc08e
cmp dword [eax + 0xe4], 0
jne 0x4cc08e
mov eax, dword [ebp - 0xeb4]
mov dword [ebp - 0xea4], eax
mov eax, dword [ebp - 0xeac]
mov dword [ebp - 0xea0], edx
mov dword [ebp - 0xe9c], eax
mov dword [ebp - 0xe98], ecx
jmp 0x4cc160
imul eax, dword [edi + 0x1c8], 0x64
push 0x9ec
push dword [ebp - 0xfa4]
push eax
call esi
imul ecx, dword [edi + 0x1cc], 0x64
push 0x9ec
push dword [ebp - 0xfac]
mov dword [ebp - 0xfb0], eax
push ecx
call esi
imul ecx, dword [edi + 0x1d0], 0x64
push 0x9ec
push dword [ebp - 0xfa4]
mov dword [ebp - 0xfbc], eax
push ecx
call esi
imul ecx, dword [edi + 0x1d4], 0x64
push 0x9ec
push dword [ebp - 0xfac]
mov dword [ebp - 0xfa4], eax
push ecx
call esi
mov ecx, dword [ebp - 0xeb4]
mov edx, eax
mov eax, dword [ebp - 0xfb0]
mov dword [ebp - 0xea4], ecx
cmp ecx, eax
jg 0x4cc112
mov dword [ebp - 0xea4], eax
mov eax, dword [ebp - 0xeb0]
mov ecx, dword [ebp - 0xfbc]
mov dword [ebp - 0xea0], eax
cmp eax, ecx
jg 0x4cc12e
mov dword [ebp - 0xea0], ecx
mov eax, dword [ebp - 0xeac]
mov ecx, dword [ebp - 0xfa4]
mov dword [ebp - 0xe9c], eax
cmp eax, ecx
jg 0x4cc14a
mov dword [ebp - 0xe9c], ecx
mov eax, dword [ebp - 0xea8]
mov dword [ebp - 0xe98], eax
cmp eax, edx
jg 0x4cc160
mov dword [ebp - 0xe98], edx
mov esi, dword [sym.imp.GDI32.dll_DPtoLP]
lea eax, [ebp - 0xea4]
push 2
push eax
push dword [ebx + 0x10]
call esi
push 2
lea eax, [ebp - 0xeb4]
push eax
push dword [ebx + 0x10]
call esi
push 1
lea eax, [ebp - 0xfd4]
push eax
push dword [ebx + 0x10]
call esi
mov edx, dword [edi + 0x15c]
mov dword [ebp - 0xfa4], edx
test edx, edx
jne 0x4cc1aa
mov dword [ebp - 0xfa4], 9
mov ecx, dword [edi + 0x158]
lea esi, [edi + 0x140]
mov eax, ecx
and al, 1
movzx eax, al
neg eax
sbb eax, eax
shr ecx, 1
and eax, 0x12c
and ecx, 1
add eax, 0x190
mov dword [ebp - 0xfb0], ecx
cmp dword [esi + 0x14], 8
mov dword [ebp - 0xfbc], eax
jb 0x4cc1e6
mov eax, dword [esi]
jmp 0x4cc1e8
mov eax, esi
push 0
push 0x5883b8
push dword [esi + 0x10]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4cc209
cmp dword [esi + 0x14], 8
jb 0x4cc20e
mov esi, dword [esi]
jmp 0x4cc20e
mov esi, str.Arial
push 0x48
push dword [ebp - 0xfac]
push dword [ebp - 0xfa4]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push esi
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0xfb0]
push dword [ebp - 0xfbc]
push 0
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push eax
push dword [ebx + 0x10]
mov dword [ebp - 0xfbc], eax
call dword [sym.imp.GDI32.dll_SelectObject]
lea eax, [ebp - 0xf68]
push eax
push dword [ebx + 0x10]
call dword [sym.imp.GDI32.dll_GetTextMetricsW]
mov eax, dword [ebp - 0xf58]
add eax, dword [ebp - 0xf68]
mov edx, dword [edi + 0x1c4]
mov dword [ebp - 0xfcc], eax
mov dword [ebp - 0xfa4], edx
test edx, edx
jne 0x4cc296
mov dword [ebp - 0xfa4], 9
mov ecx, dword [edi + 0x1c0]
mov eax, ecx
and al, 1
movzx esi, al
neg esi
sbb esi, esi
add edi, 0x1a8
and esi, 0x12c
shr ecx, 1
and ecx, 1
add esi, 0x190
mov dword [ebp - 0xfb0], ecx
cmp dword [edi + 0x14], 8
jb 0x4cc2ce
mov eax, dword [edi]
jmp 0x4cc2d0
mov eax, edi
push 0
push 0x5883b8
push dword [edi + 0x10]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4cc2f1
cmp dword [edi + 0x14], 8
jb 0x4cc2f6
mov edi, dword [edi]
jmp 0x4cc2f6
mov edi, str.Arial
push 0x48
push dword [ebp - 0xfac]
push dword [ebp - 0xfa4]
call dword [sym.imp.KERNEL32.dll_MulDiv]
push edi
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0xfb0]
push esi
push 0
push 0
push 0
push eax
call dword [sym.imp.GDI32.dll_CreateFontW]
push eax
push dword [ebx + 0x10]
mov dword [ebp - 0xfb0], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [sym.imp.GDI32.dll_GetTextMetricsW]
lea eax, [ebp - 0xf68]
push eax
push dword [ebx + 0x10]
call esi
mov eax, dword [ebp - 0xf58]
add eax, dword [ebp - 0xf68]
mov dword [ebp - 0xfc8], eax
lea eax, [ebp - 0xf68]
push eax
push dword [ebx + 0x10]
call esi
mov ecx, dword [ebp - 0xf68]
add ecx, dword [ebp - 0xf58]
mov eax, ecx
mov dword [ebp - 0xff8], 0x14
cdq
sub eax, edx
mov dword [ebp - 0xfe8], 0
sar eax, 1
add ecx, eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0xfa4], ecx
mov eax, dword [eax + 0x20]
add eax, 0x74
cmp dword [eax + 0x14], 8
jb 0x4cc3ad
mov eax, dword [eax]
mov dword [ebp - 0xff4], eax
lea eax, [ebp - 0xff8]
push eax
push dword [ebx + 0x10]
mov dword [ebp - 0xff0], 0
mov dword [ebp - 0xfec], 0
call dword [sym.imp.GDI32.dll_StartDocW]
push 0
push 0
test eax, eax
jns 0x4cc3f3
push str.Can_not_start_printer_document.
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
xor eax, eax
jmp 0x4cdc46
mov ecx, dword [ebx + 0x44]
push 0x7d6
mov dword [ebp - 0xfac], 0
call fcn.0040d9f0
mov ecx, dword [ebx + 0x14]
mov edx, eax
mov dword [ebp - 0xfc0], edx
test ecx, 0x400
jne 0x4cc460
test cl, 1
je 0x4cc460
mov esi, dword [ebx + 0x48]
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0xfc0], esi
cmp esi, eax
jbe 0x4cc436
mov ecx, eax
jmp 0x4cc440
mov ecx, esi
mov dword [ebp - 0xfc0], eax
mov esi, eax
xor eax, eax
test ecx, ecx
sets al
dec eax
and eax, ecx
mov dword [ebp - 0xfac], eax
cmp esi, edx
jle 0x4cc460
mov dword [ebp - 0xfc0], edx
mov dword [ebp - 0xfac], eax
mov eax, dword [ebx + 0x10]
mov esi, dword [ebp - 0xeb4]
mov edi, dword [ebp - 0xeb0]
mov dword [ebp - 0xf98], eax
mov dword [ebp - 0xf94], eax
mov eax, dword [ebp - 0xea4]
sub eax, esi
mov ebx, dword [ebp - 0xea0]
mov dword [ebp - 0xfa0], eax
sub ebx, edi
mov eax, dword [ebp - 0xfd4]
mov ecx, eax
sub ecx, dword [ebp - 0xe9c]
sub eax, dword [ebp - 0xeac]
sub ecx, esi
mov dword [ebp - 0xf9c], ecx
sub eax, esi
mov ecx, dword [ebp - 0xfd0]
dec eax
mov edx, ecx
mov dword [ebp - 0xf78], eax
sub ecx, dword [ebp - 0xea8]
mov eax, dword [ebp - 0xfa0]
sub ecx, edi
sub edx, dword [ebp - 0xe98]
dec ecx
mov dword [ebp - 0xf74], ecx
sub edx, edi
mov ecx, dword [ebp - 0xfa4]
add ebx, ecx
add eax, ecx
mov dword [ebp - 0xf80], 0
mov dword [ebp - 0xf90], eax
sub edx, ecx
mov eax, dword [ebp - 0xf9c]
sub eax, ecx
mov dword [ebp - 0xf7c], 0
push 0x200
mov dword [ebp - 0xf88], eax
lea eax, [ebp - 0xa4c]
push 0
push eax
mov dword [ebp - 0xf8c], ebx
mov dword [ebp - 0xf84], edx
call fcn.00544020
push 0x200
lea eax, [ebp - 0x84c]
push 0
push eax
call fcn.00544020
push 0x200
lea eax, [ebp - 0x64c]
push 0
push eax
call fcn.00544020
push 0x200
lea eax, [ebp - 0x44c]
push 0
push eax
call fcn.00544020
push 0x200
lea eax, [ebp - 0xc4c]
push 0
push eax
call fcn.00544020
push 0x200
lea eax, [ebp - 0xe4c]
push 0
push eax
call fcn.00544020
mov ecx, 7
mov eax, dword [str.__TIME_]
mov esi, str.__SHORT_DATE_
lea edi, [ebp - 0x8c]
rep movsd dword es:[edi], dword [esi]
mov ecx, 6
lea edi, [ebp - 0x70]
mov esi, str.__LONG_DATE_
add esp, 0x48
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [0x5ba730]
mov dword [ebp - 0x1c], eax
mov eax, dword [0x5ba734]
mov dword [ebp - 0x18], eax
mov eax, dword [0x5ba738]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xf2c]
push eax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
mov esi, dword [sym.imp.KERNEL32.dll_GetDateFormatW]
lea eax, [ebp - 0x24c]
push 0x40
push eax
push 0
lea eax, [ebp - 0xf2c]
push eax
push 1
push 0x400
call esi
push 0x40
lea eax, [ebp - 0x1cc]
push eax
push 0
lea eax, [ebp - 0xf2c]
push eax
push 2
push 0x400
call esi
push 0x40
lea eax, [ebp - 0x14c]
push eax
push 0
lea eax, [ebp - 0xf2c]
push eax
push 2
push 0x400
call dword [sym.imp.KERNEL32.dll_GetTimeFormatW]
mov edi, dword [ebp - 0xfc4]
mov ecx, edi
call fcn.004cddd0
mov esi, dword [ebp - 0xfb4]
test al, al
je 0x4ccb19
mov eax, dword [ebp - 0xfcc]
lea ecx, [ebp - 0xe7c]
cdq
sub eax, edx
mov dword [ebp - 0xe6c], 0
sar eax, 1
add eax, dword [ebp - 0xfcc]
add dword [ebp - 0xf8c], eax
xor eax, eax
push 0xffffffffffffffff
push eax
mov word [ebp - 0xe7c], ax
lea eax, [esi + 0xf8]
mov dword [ebp - 0xe68], 0
push eax
mov dword [ebp - 0xe68], 7
mov dword [ebp - 0xe6c], 0
call fcn.00406ac0
mov dword [ebp - 4], 0
cmp dword [ebp - 0xe68], 8
mov eax, dword [ebp - 0xe7c]
jae 0x4cc6cf
lea eax, [ebp - 0xe7c]
push 0
push 0x5883b8
push dword [ebp - 0xe6c]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4cc7f1
sub esp, 0x18
lea eax, [ebp - 0x24c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 1
sub esp, 0x18
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 2
lea eax, [ebp - 0xe7c]
push eax
mov byte [ebp - 4], 0
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x1cc]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 3
sub esp, 0x18
lea eax, [ebp - 0x70]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 4
lea eax, [ebp - 0xe7c]
push eax
mov byte [ebp - 4], 0
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x14c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 5
sub esp, 0x18
lea eax, [ebp - 0x20]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 6
lea eax, [ebp - 0xe7c]
push eax
mov byte [ebp - 4], 0
call fcn.004cde50
mov eax, dword [ebp - 0xe7c]
add esp, 0x34
cmp dword [ebp - 0xe68], 8
jae 0x4cc7d1
lea eax, [ebp - 0xe7c]
mov ebx, dword [ebp - 0xfa8]
lea ecx, [ebp - 0xa4c]
push dword [ebx + 4]
push 0x100
push ecx
push eax
call fcn.004d33d0
add esp, 0x10
jmp 0x4cc7f7
mov ebx, dword [ebp - 0xfa8]
xor eax, eax
mov dword [ebp - 0xe54], 0
push 0xffffffffffffffff
push eax
mov word [ebp - 0xe64], ax
lea ecx, [ebp - 0xe64]
lea eax, [esi + 0x110]
mov dword [ebp - 0xe50], 0
push eax
mov dword [ebp - 0xe50], 7
mov dword [ebp - 0xe54], 0
call fcn.00406ac0
mov byte [ebp - 4], 7
cmp dword [ebp - 0xe50], 8
mov eax, dword [ebp - 0xe64]
jae 0x4cc856
lea eax, [ebp - 0xe64]
push 0
push 0x5883b8
push dword [ebp - 0xe54]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4cc970
sub esp, 0x18
lea eax, [ebp - 0x24c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 8
sub esp, 0x18
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 9
lea eax, [ebp - 0xe64]
push eax
mov byte [ebp - 4], 7
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x1cc]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0xa
sub esp, 0x18
lea eax, [ebp - 0x70]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0xe64]
push eax
mov byte [ebp - 4], 7
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x14c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0xc
sub esp, 0x18
lea eax, [ebp - 0x20]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0xe64]
push eax
mov byte [ebp - 4], 7
call fcn.004cde50
mov eax, dword [ebp - 0xe64]
add esp, 0x34
cmp dword [ebp - 0xe50], 8
jae 0x4cc958
lea eax, [ebp - 0xe64]
push dword [ebx + 4]
lea ecx, [ebp - 0x84c]
push 0x100
push ecx
push eax
call fcn.004d33d0
add esp, 0x10
xor eax, eax
mov dword [ebp - 0xe84], 0
push 0xffffffffffffffff
push eax
mov word [ebp - 0xe94], ax
lea ecx, [ebp - 0xe94]
lea eax, [esi + 0x128]
mov dword [ebp - 0xe80], 0
push eax
mov dword [ebp - 0xe80], 7
mov dword [ebp - 0xe84], 0
call fcn.00406ac0
mov byte [ebp - 4], 0xe
cmp dword [ebp - 0xe80], 8
mov eax, dword [ebp - 0xe94]
jae 0x4cc9cf
lea eax, [ebp - 0xe94]
push 0
push 0x5883b8
push dword [ebp - 0xe84]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4ccae9
sub esp, 0x18
lea eax, [ebp - 0x24c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0xf
sub esp, 0x18
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x10
lea eax, [ebp - 0xe94]
push eax
mov byte [ebp - 4], 0xe
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x1cc]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x11
sub esp, 0x18
lea eax, [ebp - 0x70]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0xe94]
push eax
mov byte [ebp - 4], 0xe
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x14c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x13
sub esp, 0x18
lea eax, [ebp - 0x20]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x14
lea eax, [ebp - 0xe94]
push eax
mov byte [ebp - 4], 0xe
call fcn.004cde50
mov eax, dword [ebp - 0xe94]
add esp, 0x34
cmp dword [ebp - 0xe80], 8
jae 0x4ccad1
lea eax, [ebp - 0xe94]
push dword [ebx + 4]
lea ecx, [ebp - 0x64c]
push 0x100
push ecx
push eax
call fcn.004d33d0
add esp, 0x10
mov byte [ebp - 4], 7
lea ecx, [ebp - 0xe94]
call fcn.004038c0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xe64]
call fcn.004038c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe7c]
call fcn.004038c0
mov ecx, edi
call fcn.004cdd30
test al, al
je 0x4ccfeb
mov ecx, dword [ebp - 0xfc8]
mov eax, ecx
cdq
neg ecx
sub eax, edx
mov dword [ebp - 0xe6c], 0
sar eax, 1
sub ecx, eax
mov dword [ebp - 0xe68], 0
add dword [ebp - 0xf84], ecx
xor eax, eax
push 0xffffffffffffffff
push eax
mov word [ebp - 0xe7c], ax
lea ecx, [ebp - 0xe7c]
lea eax, [esi + 0x160]
mov dword [ebp - 0xe68], 7
push eax
mov dword [ebp - 0xe6c], 0
call fcn.00406ac0
mov dword [ebp - 4], 0x15
cmp dword [ebp - 0xe68], 8
mov eax, dword [ebp - 0xe7c]
jae 0x4ccba1
lea eax, [ebp - 0xe7c]
push 0
push 0x5883b8
push dword [ebp - 0xe6c]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4cccc3
sub esp, 0x18
lea eax, [ebp - 0x24c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x16
sub esp, 0x18
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0xe7c]
push eax
mov byte [ebp - 4], 0x15
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x1cc]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x18
sub esp, 0x18
lea eax, [ebp - 0x70]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0xe7c]
push eax
mov byte [ebp - 4], 0x15
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x14c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x1a
sub esp, 0x18
lea eax, [ebp - 0x20]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x1b
lea eax, [ebp - 0xe7c]
push eax
mov byte [ebp - 4], 0x15
call fcn.004cde50
mov eax, dword [ebp - 0xe7c]
add esp, 0x34
cmp dword [ebp - 0xe68], 8
jae 0x4ccca3
lea eax, [ebp - 0xe7c]
mov ebx, dword [ebp - 0xfa8]
lea ecx, [ebp - 0x44c]
push dword [ebx + 4]
push 0x100
push ecx
push eax
call fcn.004d33d0
add esp, 0x10
jmp 0x4cccc9
mov ebx, dword [ebp - 0xfa8]
xor eax, eax
mov dword [ebp - 0xe54], 0
push 0xffffffffffffffff
push eax
mov word [ebp - 0xe64], ax
lea ecx, [ebp - 0xe64]
lea eax, [esi + 0x178]
mov dword [ebp - 0xe50], 0
push eax
mov dword [ebp - 0xe50], 7
mov dword [ebp - 0xe54], 0
call fcn.00406ac0
mov byte [ebp - 4], 0x1c
cmp dword [ebp - 0xe50], 8
mov eax, dword [ebp - 0xe64]
jae 0x4ccd28
lea eax, [ebp - 0xe64]
push 0
push 0x5883b8
push dword [ebp - 0xe54]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4cce42
sub esp, 0x18
lea eax, [ebp - 0x24c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x1d
sub esp, 0x18
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0xe64]
push eax
mov byte [ebp - 4], 0x1c
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x1cc]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x1f
sub esp, 0x18
lea eax, [ebp - 0x70]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x20
lea eax, [ebp - 0xe64]
push eax
mov byte [ebp - 4], 0x1c
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x14c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x21
sub esp, 0x18
lea eax, [ebp - 0x20]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0xe64]
push eax
mov byte [ebp - 4], 0x1c
call fcn.004cde50
mov eax, dword [ebp - 0xe64]
add esp, 0x34
cmp dword [ebp - 0xe50], 8
jae 0x4cce2a
lea eax, [ebp - 0xe64]
push dword [ebx + 4]
lea ecx, [ebp - 0xc4c]
push 0x100
push ecx
push eax
call fcn.004d33d0
add esp, 0x10
xor eax, eax
mov dword [ebp - 0xe84], 0
push 0xffffffffffffffff
push eax
mov word [ebp - 0xe94], ax
lea ecx, [ebp - 0xe94]
lea eax, [esi + 0x190]
mov dword [ebp - 0xe80], 0
push eax
mov dword [ebp - 0xe80], 7
mov dword [ebp - 0xe84], 0
call fcn.00406ac0
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0xe80], 8
mov eax, dword [ebp - 0xe94]
jae 0x4ccea1
lea eax, [ebp - 0xe94]
push 0
push 0x5883b8
push dword [ebp - 0xe84]
push eax
call fcn.00406240
add esp, 0x10
test eax, eax
je 0x4ccfbb
sub esp, 0x18
lea eax, [ebp - 0x24c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x24
sub esp, 0x18
lea eax, [ebp - 0x8c]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0xe94]
push eax
mov byte [ebp - 4], 0x23
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x1cc]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x26
sub esp, 0x18
lea eax, [ebp - 0x70]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0xe94]
push eax
mov byte [ebp - 4], 0x23
call fcn.004cde50
add esp, 0x1c
lea eax, [ebp - 0x14c]
mov ecx, esp
mov dword [ebp - 0xf9c], esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x28
sub esp, 0x18
lea eax, [ebp - 0x20]
mov dword [ebp - 0xfa0], esp
mov ecx, esp
push eax
call fcn.004029a0
mov byte [ebp - 4], 0x29
lea eax, [ebp - 0xe94]
push eax
mov byte [ebp - 4], 0x23
call fcn.004cde50
mov eax, dword [ebp - 0xe94]
add esp, 0x34
cmp dword [ebp - 0xe80], 8
jae 0x4ccfa3
lea eax, [ebp - 0xe94]
push dword [ebx + 4]
lea ecx, [ebp - 0xe4c]
push 0x100
push ecx
push eax
call fcn.004d33d0
add esp, 0x10
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0xe94]
call fcn.004038c0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xe64]
call fcn.004038c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe7c]
call fcn.004038c0
mov ebx, dword [ebp - 0xfa8]
push 0
push dword [0x5bdda8]
mov ecx, dword [ebx + 0x44]
push 0x8c3
call fcn.0040d9f0
test eax, eax
setne byte [ebp - 0xfa0]
cmp byte [edi], 0
jne 0x4cd024
mov ecx, dword [ebx + 0x44]
push 0
push dword [0x5bdda8]
call fcn.00413ac0
mov eax, dword [ebp - 0xfb4]
lea edi, [ebp - 0x54]
mov ecx, 0xc
mov esi, str.__CURRENT_PRINTING_PAGE_
rep movsd dword es:[edi], dword [esi]
push 0
mov ebx, 1
mov dword [ebp - 0xfa4], ebx
movsw word es:[edi], word [esi]
mov esi, dword [ebp - 0xfa8]
push dword [eax + 0xf4]
push 0x864
mov ecx, dword [esi + 0x44]
call fcn.0040d9f0
mov edi, dword [ebp - 0xfc0]
cmp dword [ebp - 0xfac], edi
jge 0x4cdbe1
test byte [esi + 0x14], 2
je 0x4cd08d
movzx eax, word [esi + 0x18]
cmp ebx, eax
jb 0x4cd089
movzx eax, word [esi + 0x1a]
cmp ebx, eax
jbe 0x4cd08d
xor al, al
jmp 0x4cd08f
mov al, 1
mov bl, byte [ebp + 8]
push dword [ebp - 0xfa4]
neg bl
push 0x5bac70
sbb bl, bl
and bl, al
lea eax, [ebp - 0xcc]
push eax
mov byte [ebp - 0xfb5], bl
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
test bl, bl
je 0x4cd702
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_StartPage]
mov ecx, dword [ebp - 0xfc4]
call fcn.004cddd0
test al, al
je 0x4cd702
push dword [ebp - 0xfbc]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xffffff
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetBkColor]
movzx eax, byte [esi + 0x54]
neg eax
sbb eax, eax
and eax, 0x100
add eax, 8
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov edi, dword [ebp - 0xfcc]
mov ecx, dword [ebp - 0xf90]
mov dword [ebp - 0xf9c], eax
mov eax, edi
cdq
sub eax, edx
mov dword [ebp - 0xf1c], ecx
mov edx, dword [ebp - 0xf8c]
mov ebx, eax
mov ecx, dword [ebp - 0xf88]
sar ebx, 1
sub edx, ebx
mov dword [ebp - 0xf14], ecx
sub edx, edi
mov dword [ebp - 0xfb4], ebx
cmp word [ebp - 0xa4c], 0
mov dword [ebp - 0xf18], edx
lea ecx, [edx + edi]
mov dword [ebp - 0xf10], ecx
je 0x4cd2ef
xor eax, eax
mov dword [ebp - 0xe84], 0
lea ecx, [ebp - 0xa4c]
mov dword [ebp - 0xe80], 0
mov dword [ebp - 0xe80], 7
lea edx, [ecx + 2]
mov dword [ebp - 0xe84], 0
mov word [ebp - 0xe94], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd1b3
sub ecx, edx
lea eax, [ebp - 0xa4c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xe94]
call fcn.00406c80
mov dword [ebp - 4], 0x2a
cmp word [ebp - 0x54], 0
jne 0x4cd1e7
xor ecx, ecx
jmp 0x4cd1ff
lea ecx, [ebp - 0x54]
lea edx, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd1f0
sub ecx, edx
sar ecx, 1
push ecx
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0xe94]
call fcn.00424e50
mov edi, eax
cmp edi, 0xffffffff
je 0x4cd26a
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp word [ebp - 0xcc], 0
mov ebx, eax
jne 0x4cd232
xor ecx, ecx
jmp 0x4cd24f
lea ecx, [ebp - 0xcc]
lea edx, [ecx + 2]
jmp 0x4cd240
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd240
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0xcc]
push eax
push ebx
push edi
lea ecx, [ebp - 0xe94]
call fcn.0043c180
mov ebx, dword [ebp - 0xfb4]
cmp dword [ebp - 0xe80], 8
mov eax, dword [ebp - 0xe94]
jae 0x4cd27f
lea eax, [ebp - 0xe94]
push 0
push dword [ebp - 0xe84]
push eax
lea eax, [ebp - 0xf1c]
push eax
mov eax, dword [ebp - 0xf8c]
push 2
sub eax, ebx
push eax
mov eax, dword [ebp - 0xf90]
add eax, 5
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe80]
cmp eax, 8
jb 0x4cd2d2
inc eax
lea ecx, [ebp - 0xe94]
push eax
push dword [ebp - 0xe94]
call fcn.00407270
xor eax, eax
mov dword [ebp - 0xe80], 7
mov dword [ebp - 0xe84], 0
mov word [ebp - 0xe94], ax
cmp word [ebp - 0x84c], 0
je 0x4cd4be
xor eax, eax
mov dword [ebp - 0xe6c], 0
lea ecx, [ebp - 0x84c]
mov dword [ebp - 0xe68], 0
mov dword [ebp - 0xe68], 7
lea edx, [ecx + 2]
mov dword [ebp - 0xe6c], 0
mov word [ebp - 0xe7c], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd337
sub ecx, edx
lea eax, [ebp - 0x84c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xe7c]
call fcn.00406c80
mov dword [ebp - 4], 0x2b
cmp word [ebp - 0x54], 0
jne 0x4cd36b
xor ecx, ecx
jmp 0x4cd380
lea ecx, [ebp - 0x54]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd371
sub ecx, edx
sar ecx, 1
push ecx
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0xe7c]
call fcn.00424e50
mov edi, eax
cmp edi, 0xffffffff
je 0x4cd3ea
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp word [ebp - 0xcc], 0
mov ebx, eax
jne 0x4cd3b3
xor ecx, ecx
jmp 0x4cd3cf
lea ecx, [ebp - 0xcc]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd3c0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0xcc]
push eax
push ebx
push edi
lea ecx, [ebp - 0xe7c]
call fcn.0043c180
mov ebx, dword [ebp - 0xfb4]
cmp dword [ebp - 0xe68], 8
mov eax, dword [ebp - 0xe7c]
jae 0x4cd3ff
lea eax, [ebp - 0xe7c]
lea ecx, [ebp - 0xfe4]
push ecx
push dword [ebp - 0xe6c]
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp dword [ebp - 0xe68], 8
mov eax, dword [ebp - 0xe7c]
jae 0x4cd42b
lea eax, [ebp - 0xe7c]
push 0
push dword [ebp - 0xe6c]
mov esi, dword [ebp - 0xfa8]
push eax
lea eax, [ebp - 0xf1c]
push eax
mov eax, dword [ebp - 0xf8c]
sub eax, ebx
push 4
push eax
mov eax, dword [ebp - 0xf88]
sub eax, dword [ebp - 0xf90]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0xfe4]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub ecx, eax
add ecx, dword [ebp - 0xf90]
push ecx
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe68]
cmp eax, 8
jb 0x4cd4a1
inc eax
lea ecx, [ebp - 0xe7c]
push eax
push dword [ebp - 0xe7c]
call fcn.00407270
xor eax, eax
mov dword [ebp - 0xe68], 7
mov dword [ebp - 0xe6c], 0
mov word [ebp - 0xe7c], ax
cmp word [ebp - 0x64c], 0
je 0x4cd66e
xor eax, eax
mov dword [ebp - 0xe54], 0
lea ecx, [ebp - 0x64c]
mov dword [ebp - 0xe50], 0
mov dword [ebp - 0xe50], 7
lea edx, [ecx + 2]
mov dword [ebp - 0xe54], 0
mov word [ebp - 0xe64], ax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd506
sub ecx, edx
lea eax, [ebp - 0x64c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xe64]
call fcn.00406c80
mov dword [ebp - 4], 0x2c
cmp word [ebp - 0x54], 0
jne 0x4cd53a
xor ecx, ecx
jmp 0x4cd54f
lea ecx, [ebp - 0x54]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd540
sub ecx, edx
sar ecx, 1
push ecx
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0xe64]
call fcn.00424e50
mov edi, eax
cmp edi, 0xffffffff
je 0x4cd5ba
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp word [ebp - 0xcc], 0
mov ebx, eax
jne 0x4cd582
xor ecx, ecx
jmp 0x4cd59f
lea ecx, [ebp - 0xcc]
lea edx, [ecx + 2]
jmp 0x4cd590
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd590
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0xcc]
push eax
push ebx
push edi
lea ecx, [ebp - 0xe64]
call fcn.0043c180
mov ebx, dword [ebp - 0xfb4]
cmp dword [ebp - 0xe50], 8
mov eax, dword [ebp - 0xe64]
jae 0x4cd5cf
lea eax, [ebp - 0xe64]
lea ecx, [ebp - 0xfe4]
push ecx
push dword [ebp - 0xe54]
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp dword [ebp - 0xe50], 8
mov eax, dword [ebp - 0xe64]
jae 0x4cd5fb
lea eax, [ebp - 0xe64]
push 0
push dword [ebp - 0xe54]
push eax
lea eax, [ebp - 0xf1c]
push eax
mov eax, dword [ebp - 0xf8c]
push 4
sub eax, ebx
push eax
mov eax, dword [ebp - 0xf88]
sub eax, dword [ebp - 0xfe4]
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0xe50]
cmp eax, 8
jb 0x4cd651
inc eax
lea ecx, [ebp - 0xe64]
push eax
push dword [ebp - 0xe64]
call fcn.00407270
xor eax, eax
mov dword [ebp - 0xe50], 7
mov dword [ebp - 0xe54], 0
mov word [ebp - 0xe64], ax
push dword [ebp - 0xf9c]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetTextAlign]
push 0
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov ebx, eax
push ebx
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xf8c]
mov edi, eax
mov eax, dword [ebp - 0xfcc]
cdq
and edx, 3
push 0
lea esi, [edx + eax]
mov eax, dword [ebp - 0xfa8]
sar esi, 2
sub ecx, esi
push ecx
push dword [ebp - 0xf90]
push dword [eax + 0x10]
call dword [sym.imp.GDI32.dll_MoveToEx]
mov eax, dword [ebp - 0xf8c]
sub eax, esi
mov esi, dword [ebp - 0xfa8]
push eax
push dword [ebp - 0xf88]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_LineTo]
push edi
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov bl, byte [ebp - 0xfb5]
mov edi, dword [ebp - 0xfc0]
mov eax, dword [ebp - 0xfac]
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0xf70], eax
lea eax, [ebp - 0xf98]
push eax
movzx eax, bl
push eax
push 0x867
mov dword [ebp - 0xf6c], edi
call fcn.0040d9f0
mov ecx, eax
mov dword [ebp - 0xfac], ecx
test bl, bl
je 0x4cdbbe
mov ecx, dword [ebp - 0xfc4]
call fcn.004cdd30
test al, al
je 0x4cdbaf
push dword [ebp - 0xfb0]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0xffffff
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetBkColor]
movzx eax, byte [esi + 0x54]
neg eax
sbb eax, eax
and eax, 0x100
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetTextAlign]
mov ecx, dword [ebp - 0xf90]
mov dword [ebp - 0xf9c], eax
mov eax, dword [ebp - 0xfc8]
mov dword [ebp - 0xf0c], ecx
mov ebx, eax
test ebx, ebx
jns 0x4cd7af
add ebx, 1
sar ebx, 1
mov edx, dword [ebp - 0xf84]
mov ecx, dword [ebp - 0xf88]
add edx, ebx
cmp word [ebp - 0x44c], 0
mov dword [ebp - 0xf04], ecx
mov dword [ebp - 0xf08], edx
lea ecx, [edx + eax]
mov dword [ebp - 0xf00], ecx
je 0x4cd8fb
xor eax, eax
mov dword [ebp - 0xebc], 0
lea ecx, [ebp - 0x44c]
mov dword [ebp - 0xeb8], 0
mov dword [ebp - 0xeb8], 7
lea edx, [ecx + 2]
mov dword [ebp - 0xebc], 0
mov word [ebp - 0xecc], ax
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd820
sub ecx, edx
lea eax, [ebp - 0x44c]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0xecc]
call fcn.00406c80
mov dword [ebp - 4], 0x2d
cmp word [ebp - 0x54], 0
jne 0x4cd854
xor ecx, ecx
jmp 0x4cd86f
lea ecx, [ebp - 0x54]
lea edx, [ecx + 2]
lea ebx, [ebx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd860
sub ecx, edx
sar ecx, 1
push ecx
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0xecc]
call fcn.00424e50
mov edi, eax
cmp edi, 0xffffffff
je 0x4cd8a6
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push edi
lea ecx, [ebp - 0xecc]
call fcn.004c4190
cmp dword [ebp - 0xeb8], 8
mov eax, dword [ebp - 0xecc]
jae 0x4cd8bb
lea eax, [ebp - 0xecc]
push 0
push dword [ebp - 0xebc]
push eax
lea eax, [ebp - 0xf0c]
push eax
mov eax, dword [ebp - 0xf84]
push 2
add eax, ebx
push eax
mov eax, dword [ebp - 0xf90]
add eax, 5
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xecc]
call fcn.004038c0
cmp word [ebp - 0xc4c], 0
je 0x4cda1d
lea eax, [ebp - 0xc4c]
push eax
lea ecx, [ebp - 0xee4]
call fcn.004029a0
mov dword [ebp - 4], 0x2e
cmp word [ebp - 0x54], 0
jne 0x4cd92d
xor ecx, ecx
jmp 0x4cd942
lea ecx, [ebp - 0x54]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cd933
sub ecx, edx
sar ecx, 1
push ecx
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0xee4]
call fcn.00424e50
mov edi, eax
cmp edi, 0xffffffff
je 0x4cd979
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push edi
lea ecx, [ebp - 0xee4]
call fcn.004c4190
cmp dword [ebp - 0xed0], 8
mov eax, dword [ebp - 0xee4]
jae 0x4cd98e
lea eax, [ebp - 0xee4]
lea ecx, [ebp - 0xfdc]
push ecx
push dword [ebp - 0xed4]
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp dword [ebp - 0xed0], 8
mov eax, dword [ebp - 0xee4]
jae 0x4cd9ba
lea eax, [ebp - 0xee4]
push 0
push dword [ebp - 0xed4]
mov esi, dword [ebp - 0xfa8]
push eax
lea eax, [ebp - 0xf0c]
push eax
mov eax, dword [ebp - 0xf84]
add eax, ebx
push 4
push eax
mov eax, dword [ebp - 0xf88]
sub eax, dword [ebp - 0xf90]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0xfdc]
cdq
sub eax, edx
sar ecx, 1
sar eax, 1
sub ecx, eax
add ecx, dword [ebp - 0xf90]
push ecx
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xee4]
call fcn.004038c0
cmp word [ebp - 0xe4c], 0
je 0x4cdb1f
lea eax, [ebp - 0xe4c]
push eax
lea ecx, [ebp - 0xefc]
call fcn.004029a0
mov dword [ebp - 4], 0x2f
cmp word [ebp - 0x54], 0
jne 0x4cda4f
xor ecx, ecx
jmp 0x4cda64
lea ecx, [ebp - 0x54]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4cda55
sub ecx, edx
sar ecx, 1
push ecx
push 0
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0xefc]
call fcn.00424e50
mov edi, eax
cmp edi, 0xffffffff
je 0x4cda9b
lea eax, [ebp - 0xcc]
push eax
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
push edi
lea ecx, [ebp - 0xefc]
call fcn.004c4190
cmp dword [ebp - 0xee8], 8
mov eax, dword [ebp - 0xefc]
jae 0x4cdab0
lea eax, [ebp - 0xefc]
lea ecx, [ebp - 0xfdc]
push ecx
push dword [ebp - 0xeec]
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32W]
cmp dword [ebp - 0xee8], 8
mov eax, dword [ebp - 0xefc]
jae 0x4cdadc
lea eax, [ebp - 0xefc]
push 0
push dword [ebp - 0xeec]
push eax
lea eax, [ebp - 0xf0c]
push eax
mov eax, dword [ebp - 0xf84]
push 4
add eax, ebx
push eax
mov eax, dword [ebp - 0xf88]
sub eax, dword [ebp - 0xfdc]
push eax
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xefc]
call fcn.004038c0
push dword [ebp - 0xf9c]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SetTextAlign]
push 0
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov ebx, eax
push ebx
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0xfc8]
mov edi, eax
mov esi, ecx
test esi, esi
jns 0x4cdb57
add esi, 3
sar esi, 2
mov ecx, dword [ebp - 0xf84]
mov eax, dword [ebp - 0xfa8]
add ecx, esi
push 0
push ecx
push dword [ebp - 0xf90]
push dword [eax + 0x10]
call dword [sym.imp.GDI32.dll_MoveToEx]
mov eax, dword [ebp - 0xf84]
add eax, esi
mov esi, dword [ebp - 0xfa8]
push eax
push dword [ebp - 0xf88]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_LineTo]
push edi
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [ebp - 0xfc0]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_EndPage]
mov ecx, dword [ebp - 0xfac]
mov ebx, dword [ebp - 0xfa4]
inc ebx
test byte [esi + 0x14], 2
mov dword [ebp - 0xfa4], ebx
je 0x4cdbd9
movzx eax, word [esi + 0x1a]
cmp ebx, eax
ja 0x4cdbe1
cmp ecx, edi
jl 0x4cd073
mov eax, dword [ebp - 0xfc4]
cmp byte [eax], 0
jne 0x4cdc00
push dword [ebp - 0xfa0]
mov ecx, dword [esi + 0x44]
push dword [0x5bdda8]
call fcn.00413ac0
mov ecx, dword [esi + 0x44]
push 0
push 0
push 0x867
call fcn.0040d9f0
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_EndDoc]
push dword [esi + 0x10]
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [ebp - 0xfbc]
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
test eax, eax
je 0x4cdc36
push eax
call esi
mov eax, dword [ebp - 0xfb0]
test eax, eax
je 0x4cdc43
push eax
call esi
lea eax, [ebx - 1]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0052c233
mov esp, ebp
pop ebp
ret 4