Function at 0x524af0
Capabilities:
Capture screenshot
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x26c
mov ecx, dword [0x63f7d4]
push ebx
xor eax, eax
cmp ecx, eax
push esi
push edi
jne 0x52669e
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0xdc4]
mov edx, dword [esi + 0xdc8]
mov edi, dword [sym.imp.USER32.dll_SetRect]
mov dword [esp + 0xe4], ecx
mov ecx, dword [esi + 0xdcc]
mov dword [esp + 0xec], ecx
cmp dword [esi + 0xdc0], eax
mov dword [esp + 0xf4], edx
mov edx, dword [esi + 0xdd0]
mov dword [0x63f7d4], 1
mov dword [esp + 0x3c], eax
mov dword [esp + 0x64], eax
mov dword [esp + 0xc4], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xf0], edx
je 0x524b92
lea eax, [esi + 0xdd4]
push eax
lea ecx, [esp + 0x144]
push ecx
call dword [sym.imp.USER32.dll_CopyRect]
jmp 0x524bb0
push 0xffffd8f1
push 0xffffd8f1
push 0x270f
push 0x270f
lea edx, [esp + 0x150]
push edx
call edi
push 0xffffd8f1
push 0xffffd8f1
push 0x270f
push 0x270f
lea eax, [esi + 0xdd4]
push eax
call edi
push 0xffffd8f1
push 0xffffd8f1
push 0x270f
push 0x270f
lea ecx, [esp + 0xe4]
push ecx
call edi
mov edx, dword [esi]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
jne case.0x524c55.4
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je case.0x524c55.4
mov esi, dword [ebp + 8]
mov edx, dword [esi]
push edx
call fcn.00582c10
add esp, 4
test eax, eax
je 0x524c43
mov eax, dword [0x645328]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
mov edi, eax
push edi
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x524c43
cmp dword [esi], edi
jne case.0x524c55.4
mov eax, dword [esi + 0x71c]
add eax, 0xfffffffd
cmp eax, 6
ja case.default.0x524c55
jmp dword [eax*4 + 0x5266a8]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x720], 1
jne 0x524c93
mov ecx, dword [eax]
push ecx
call fcn.0053d320
add esp, 4
test eax, eax
je case.0x524c55.4
push 0
push 1
push 1
push 1
push 1
push eax
call fcn.00567b40
add esp, 0x18
jmp case.0x524c55.4
mov edx, dword [eax]
push edx
call fcn.0049c910
add esp, 4
test eax, eax
je case.0x524c55.4
push 0
push 1
push 1
push 1
push 1
push eax
call fcn.00568380
add esp, 0x18
jmp case.0x524c55.4
mov eax, dword [ebp + 8]
cmp dword [eax + 0x720], 1
je case.0x524c55.4
mov esi, eax
mov eax, dword [esi + 0x754]
test eax, eax
je case.default.0x524c55
push esi
call fcn.00481320
add esp, 4
jmp case.0x524c55.4
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x87c]
test eax, eax
je case.0x524c55.4
mov esi, dword [ebp + 0xc]
test esi, esi
jne 0x524d1c
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je case.0x524c55.4
mov dword [esp + 0xd0], 1
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x95c]
test eax, eax
jne 0x524d45
mov ecx, dword [ebx]
cmp ecx, dword [0x61387c]
je 0x524d41
mov ecx, dword [ebx + 0x984]
test ecx, ecx
je 0x524e7a
test eax, eax
je 0x524d52
mov edx, dword [ebx]
push 0
push edx
call fcn.0041e9f0
add esp, 8
mov edi, dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push esi
mov dword [esp + 0x68], esi
call edi
mov esi, eax
test esi, esi
je 0x524e6e
mov eax, dword [esp + 0x64]
push eax
call edi
mov edi, eax
test edi, edi
je 0x524e67
mov eax, dword [ebx + 0x980]
test eax, eax
jne 0x524d9d
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x64]
push ecx
push edx
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [ebx + 0x980], eax
mov eax, dword [ebx + 0x980]
test eax, eax
je 0x524e58
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0xc4], eax
mov eax, dword [ebx + 0x95c]
test eax, eax
je 0x524e03
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push 0xcc0020
push 0
push 0
push edi
push ecx
push edx
push 0
push 0
push esi
mov dword [esp + 0x70], eax
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [esp + 0x4c]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x3c], 1
jmp 0x524e58
mov ecx, dword [0x613690]
push ecx
call fcn.0043bf80
mov edx, dword [eax*4 + 0x612870]
add esp, 4
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ecx, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
xor eax, eax
push eax
push eax
push 0x5e6c98
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x38]
push ecx
push 6
push eax
push eax
push esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x58], edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov dword [esp + 0x3c], 2
push edi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x524e7a
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x64], 0
mov eax, dword [ebx + 0x6cc]
test eax, eax
je 0x525115
mov eax, dword [ebx + 0x710]
sub eax, dword [ebx + 0x714]
mov dword [esp + 0x74], eax
jmp 0x524ea0
mov ecx, dword [ebx + 0x6cc]
mov edi, dword [ecx + 0x44]
test edi, edi
mov edx, dword [ebx + 0xa00]
mov dword [esp + 0x40], edx
mov dword [esp + 0x14], edi
je 0x525115
nop
test eax, eax
jle 0x524ed9
cmp edi, ecx
je 0x524ed9
mov edi, dword [edi + 0x44]
dec eax
test edi, edi
mov dword [esp + 0x14], edi
jne 0x524ec0
jmp 0x525115
test edi, edi
je 0x525115
mov eax, dword [0x61387c]
cmp dword [ebx], eax
je 0x524fb7
mov eax, dword [ebx + 0x71c]
test eax, eax
je 0x524f0b
cmp eax, 1
je 0x524f0b
cmp eax, 2
je 0x524f0b
cmp eax, 9
jne 0x524fb7
mov edx, dword [ebp + 0x1c]
mov ecx, dword [esp + 0x40]
mov eax, edx
sub eax, ecx
mov ecx, dword [edi + 0x14]
dec eax
cmp ecx, dword [ebp + 0x18]
mov dword [esp + 0x4c], edi
jne 0x524f51
mov ecx, dword [ebx + 0x9fc]
cmp dword [edi + 0x18], ecx
jne 0x524f51
cmp edi, dword [ebx + 0x6cc]
je 0x524fad
mov edi, dword [edi + 0x44]
test edi, edi
je 0x524fad
mov ecx, dword [esp + 0x40]
sub eax, ecx
neg ecx
cmp eax, ecx
jl 0x524fad
mov ecx, dword [edi + 0x14]
cmp ecx, dword [ebp + 0x18]
je 0x524f23
mov edx, dword [ebp + 0x18]
push edx
push edi
push ebx
push esi
call fcn.00523c60
add esp, 0x10
test eax, eax
je 0x524faa
mov edi, dword [esp + 0x74]
test edi, edi
jne 0x524f70
push 1
jmp 0x524f72
push 0
push ebx
call fcn.00585000
mov eax, dword [ebx + 0x714]
mov ecx, dword [ebx + 0x718]
add esp, 8
cmp eax, ecx
jge 0x524f99
mov ecx, dword [ebx + 0x710]
sub ecx, edi
mov dword [ebx + 0x714], ecx
mov eax, dword [ebx + 0x710]
sub eax, dword [ebx + 0x714]
jmp 0x524ea0
mov edx, dword [ebp + 0x1c]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x14], edi
jmp 0x524fba
mov edx, dword [ebp + 0x1c]
test edi, edi
je 0x525115
mov eax, dword [edi + 8]
mov ecx, dword [esp + 0x40]
sub edx, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x6cc]
dec edx
cmp edi, eax
mov dword [esp + 0x10], edx
je 0x5250cd
mov edx, dword [ebx + 0x768]
mov dword [esp + 0x4c], edx
lea esp, [esp]
mov eax, dword [esp + 0x10]
sub eax, ecx
cmp edx, 1
mov dword [esp + 0x10], eax
je 0x52500d
cmp edx, 2
jne 0x525011
cmp dword [0x63e11c], 1
jne 0x525011
sub dword [esp + 0x10], ecx
mov edi, dword [edi + 0x44]
test edi, edi
je 0x525111
mov eax, dword [edi + 8]
cmp eax, dword [esp + 0x6c]
je 0x5250ff
cmp edx, 3
mov dword [esp + 0x6c], eax
je 0x52503f
cmp edx, 2
jne 0x525065
cmp dword [0x63e11c], edx
jne 0x525065
mov ecx, dword [esp + 0x40]
mov eax, 0x55555555
imul ecx
sub edx, ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x10]
add eax, edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x10], eax
jmp 0x525069
mov ecx, dword [esp + 0x40]
mov eax, ecx
neg eax
cmp dword [esp + 0x10], eax
jge 0x525103
mov eax, dword [esp + 0x10]
add eax, ecx
cmp edx, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], eax
je 0x525098
cmp edx, 2
jne 0x52509c
cmp dword [0x63e11c], 1
jne 0x52509c
add dword [esp + 0x10], ecx
cmp edx, 3
je 0x5250ae
cmp edx, 2
jne 0x5250c6
cmp dword [0x63e11c], edx
jne 0x5250c6
mov eax, 0x55555556
imul ecx
mov eax, dword [esp + 0x10]
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
add eax, edx
mov dword [esp + 0x10], eax
mov edi, dword [edi + 0x40]
mov dword [esp + 0x14], edi
test edi, edi
je 0x525115
mov eax, dword [ebx + 0x988]
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0xde4]
test eax, eax
je 0x525189
xor eax, eax
mov dword [esp + 0x8c], eax
jmp 0x5251b7
mov ecx, dword [esp + 0x40]
cmp edi, dword [ebx + 0x6cc]
jne 0x524ff0
jmp 0x5250c9
mov dword [esp + 0x14], edi
mov edx, dword [ebx + 0x988]
push edx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0
add ebx, 0xa00
push ebx
push 0
push esi
mov edi, eax
call fcn.00498990
add esp, 0x10
push edi
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x5265c7
mov eax, dword [0x613690]
push eax
call fcn.0043bf80
mov ecx, dword [eax*4 + 0x612870]
add esp, 4
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0
push 0x5e6c98
lea edx, [ebp + 0x10]
push edx
push 6
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
jmp 0x526604
mov eax, dword [0x60a514]
test eax, eax
jne 0x5251a7
mov eax, dword [ebx + 0xa08]
test eax, eax
mov dword [esp + 0x8c], 0
je 0x5251b2
mov dword [esp + 0x8c], 1
mov eax, dword [0x642ee4]
test eax, eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0x4c], 0xffffffff
je 0x5251de
mov ecx, dword [ebx + 0x9f8]
push ecx
push esi
call fcn.0049a850
add esp, 8
mov dword [esp + 0x4c], eax
mov edx, dword [edi + 0x1c]
push edx
call fcn.0043bf80
mov dword [esp + 0x54], eax
mov eax, dword [0x613690]
push eax
call fcn.0043bf80
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx*4 + 0x612870]
add esp, 8
push edx
push esi
mov dword [esp + 0x64], eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax*4 + 0x612870]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 1
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov dword [esp + 0xe8], eax
cmp dword [esp + 0x3c], 1
jne 0x525244
mov dword [esp + 0x7c], 4
jmp 0x5252c1
mov eax, dword [esp + 0x10]
test eax, eax
mov dword [esp + 0x7c], 6
jl 0x52528a
mov edx, dword [ebp + 0x18]
mov ecx, dword [esp + 0x10]
xor eax, eax
push eax
push eax
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x48]
add ecx, edx
push 0x5e6c98
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x38]
push ecx
push 6
push eax
push eax
push esi
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x18]
push 0
dec eax
push 0
mov dword [esp + 0x38], eax
inc eax
push 0x5e6c98
mov dword [esp + 0x44], eax
lea eax, [esp + 0x38]
push eax
push 6
push 0
push 0
push esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], edx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
xor eax, eax
push eax
push eax
push eax
push eax
lea ecx, [esp + 0x198]
push ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0xc8], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xc4], eax
call dword [sym.imp.USER32.dll_SetRect]
mov edx, dword [edi + 8]
xor eax, eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xb8], eax
mov edi, edi
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x525346
mov eax, dword [edi]
push eax
call fcn.0057ab30
add esp, 4
cmp eax, 2
mov dword [esp + 0xac], 1
je 0x525351
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x52542f
mov eax, dword [esp + 0x70]
test eax, eax
mov dword [esp + 0xa8], 0
je 0x5253a4
mov ecx, dword [esp + 0x78]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [esp + 0x70]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebx + 0x988]
push eax
push esi
mov dword [esp + 0x78], 0
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x78], eax
mov ecx, dword [edi + 0x1c]
xor eax, eax
push ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0xb8], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xb4], eax
call fcn.0043bf80
mov edx, dword [0x613690]
push edx
mov dword [esp + 0x58], eax
call fcn.0043bf80
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax*4 + 0x612870]
add esp, 8
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [esp + 0x5c]
mov eax, dword [edx*4 + 0x612870]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [esp + 0x3c]
xor ecx, ecx
cmp eax, 1
setne cl
mov dword [esp + 0x24], 0
lea ecx, [ecx + ecx + 4]
mov dword [esp + 0x7c], ecx
lea edx, [esp + 0x208]
xor eax, eax
push edx
push esi
mov dword [esp + 0xd4], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], eax
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x30], eax
add eax, edx
mov dword [esp + 0x38], eax
mov eax, dword [ebx + 0x768]
cmp eax, 1
mov dword [esp + 0x2c], 2
mov dword [esp + 0x34], ecx
mov dword [esp + 0x98], 0
je 0x5254c6
cmp eax, 2
mov edx, dword [0x63e11c]
jne 0x525496
cmp edx, 1
je 0x5254c6
cmp eax, 3
je 0x5254a4
cmp eax, 2
jne 0x5254d1
cmp edx, eax
jne 0x5254d1
mov eax, dword [edi + 0x40]
test eax, eax
je 0x5254d1
mov edx, dword [esp + 0x6c]
cmp dword [eax + 8], edx
je 0x5254d1
mov eax, 0x55555556
imul dword [esp + 0x40]
mov eax, edx
shr eax, 0x1f
add edx, eax
jmp 0x5254ca
mov edx, dword [esp + 0x40]
mov dword [esp + 0x98], edx
cmp dword [ebx + 0x6f8], edi
jne 0x52562f
cmp dword [edi + 0x20], 2
jne 0x52562f
mov eax, dword [esp + 0x3c]
push eax
lea ecx, [esp + 0x30]
push ecx
push esi
push ebx
call fcn.00427730
mov ebx, dword [esp + 0x24]
add esp, 0x10
mov edi, dword [esp + 0x10]
mov eax, dword [ebp + 8]
cmp dword [eax + 0x6f8], ebx
jne 0x52552c
mov ecx, eax
mov edx, dword [ecx]
push edx
call fcn.0058a830
add esp, 4
test eax, eax
je 0x52552c
mov eax, dword [ebp + 8]
mov dword [eax + 0x700], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 0x708], ebx
jne 0x525541
mov dword [eax + 0x708], 0
mov ebx, dword [ebx + 0x40]
test ebx, ebx
mov dword [esp + 0x14], ebx
je 0x526584
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0xb8]
mov ecx, dword [esp + 0x6c]
add edi, eax
mov eax, dword [ebx + 8]
inc edx
cmp eax, ecx
mov dword [esp + 0x10], edi
mov dword [esp + 0xb8], edx
je 0x525583
mov dword [esp + 0x6c], eax
mov dword [esp + 0xa8], 1
mov ebx, dword [esp + 0x98]
test ebx, ebx
je 0x5255ed
cmp dword [esp + 0x3c], 1
je 0x5255e7
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x18]
mov dword [esp + 0x2c], ecx
mov ecx, dword [0x613690]
lea eax, [ebx + edi]
push ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x34], edi
mov dword [esp + 0x3c], eax
call fcn.0043bf80
mov edx, dword [eax*4 + 0x612870]
add esp, 4
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0
push 0x5e6c98
lea eax, [esp + 0x38]
push eax
push 6
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
add edi, ebx
mov dword [esp + 0x10], edi
mov ecx, dword [ebp + 0x1c]
sub ecx, dword [esp + 0x40]
dec ecx
cmp edi, ecx
jg 0x526584
mov edx, dword [esp + 0x50]
mov eax, dword [edx*4 + 0x612870]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx*4 + 0x612870]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ebx, dword [ebp + 8]
mov edi, dword [esp + 0x14]
jmp 0x525320
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov eax, dword [edi]
lea ebx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x525642
sub eax, ebx
mov dword [esp + 0x74], eax
mov eax, dword [edi + 0x10]
test eax, eax
jle 0x525798
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x74]
test eax, eax
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x108], edx
mov dword [esp + 0x114], ecx
jle 0x52572c
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
cmp edi, dword [ebx + 0x10]
jge 0x52572c
mov eax, dword [ebx]
cmp byte [eax + edi], 0x20
jne 0x52572c
mov ecx, dword [esp + 0x8c]
test ecx, ecx
je 0x5256cf
mov ecx, dword [esp + 0xac]
test ecx, ecx
je 0x5256cf
push edi
push eax
call fcn.0057aa30
add esp, 8
test eax, eax
jg 0x52572c
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x5256eb
mov edx, dword [ebx]
push edi
push edx
call fcn.005cf858
add esp, 8
cmp eax, 1
je 0x52572c
mov eax, dword [ebx]
lea ecx, [esp + 0x128]
push ecx
push 1
add eax, edi
push eax
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov edx, dword [esp + 0x128]
mov ecx, dword [esp + 0x228]
mov eax, dword [esp + 0x2c]
sub edx, ecx
add eax, edx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
inc edi
cmp edi, eax
mov dword [esp + 0x28], edi
jl 0x525696
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x525798
mov ecx, dword [0x613690]
push ecx
call fcn.0043bf80
mov edx, dword [eax*4 + 0x612870]
mov ebx, dword [sym.imp.GDI32.dll_SetBkColor]
add esp, 4
push edx
push esi
call ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x108]
push 0
push 0
push 0x5e6c98
mov edi, eax
lea eax, [esp + 0x114]
push eax
push 6
push ecx
push edx
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push edi
push esi
call ebx
xor eax, eax
mov dword [esp + 0x60], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x68], eax
mov edi, dword [esp + 0x28]
mov ebx, dword [esp + 0x14]
jmp 0x5257c0
cmp edi, dword [esp + 0x74]
jge 0x525a92
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x525850
mov eax, dword [esp + 0xac]
test eax, eax
je 0x525850
mov eax, dword [ebx]
push edi
push eax
call fcn.0057aa30
add esp, 8
test eax, eax
mov dword [esp + 0xc0], eax
jle 0x525807
mov dword [esp + 0x84], 1
jmp case.0x5258cb.4
cmp eax, 0xffffffff
jne 0x525825
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov eax, dword [0x61387c]
mov dword [esp + 0x84], 1
cmp edx, eax
jmp 0x525840
cmp eax, 0xfffffffe
jne 0x525850
mov dword [esp + 0x84], 1
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
cmp ecx, dword [0x61387c]
je case.0x5258cb.4
inc edi
mov dword [esp + 0x28], edi
jmp 0x5257c0
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x5258a5
mov edx, dword [ebx]
push edi
push edx
call fcn.005cf858
add esp, 8
cmp eax, 1
mov dword [esp + 0x60], eax
jne 0x5258a0
mov eax, dword [ebx]
mov cl, byte [eax + edi + 1]
inc edi
test cl, cl
jne 0x525884
mov dword [esp + 0x28], edi
jmp 0x5257c0
push edi
push eax
call fcn.005cf858
add esp, 8
cmp eax, 2
je case.0x5258cb.4
mov dword [esp + 0x28], edi
jmp 0x5257c0
cmp eax, 2
je 0x525835
mov edx, dword [ebx]
movzx eax, byte [edx + edi]
xor ecx, ecx
add eax, 0xfffffffe
cmp eax, 0x1d
mov dword [esp + 0x60], ecx
mov dword [esp + 0xc0], ecx
ja case.0x5258cb.4
movzx eax, byte [eax + 0x5266e0]
jmp dword [eax*4 + 0x5266c4]
cmp dword [esp + 0x44], ecx
je 0x5258e5
mov dword [esp + 0x48], 1
jmp case.0x5258cb.4
cmp dword [esp + 0x24], ecx
jne 0x5258f8
dec edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x90]
xor edx, edx
cmp eax, ecx
sete dl
mov dword [esp + 0x90], edx
jmp 0x5264ae
cmp dword [esp + 0x44], ecx
je 0x525925
mov dword [esp + 0x48], 1
jmp case.0x5258cb.4
cmp dword [esp + 0x24], ecx
jne 0x525938
dec edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], edi
mov edx, dword [esp + 0x58]
xor eax, eax
cmp edx, ecx
sete al
mov dword [esp + 0x58], eax
jmp 0x5264ae
cmp dword [esp + 0x44], ecx
je 0x52595f
mov dword [esp + 0x48], 1
jmp case.0x5258cb.4
cmp dword [esp + 0x24], ecx
jne 0x525972
dec edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x94]
xor edx, edx
cmp eax, ecx
sete dl
mov dword [esp + 0x94], edx
jmp 0x5264ae
cmp dword [esp + 0x44], ecx
je 0x52599f
mov dword [esp + 0x48], 1
jmp case.0x5258cb.4
cmp dword [esp + 0x24], ecx
jne 0x5259b4
lea eax, [edi - 1]
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], eax
mov ecx, dword [0x613690]
push ecx
call fcn.0043bf80
mov edx, dword [ebx + 0x1c]
add esp, 4
push eax
push edx
call fcn.0043bf80
mov edx, dword [ebx]
add esp, 4
push eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0x5c]
push ecx
add edx, edi
push edx
call fcn.00522aa0
add esp, 0x14
add edi, eax
mov dword [esp + 0x28], edi
jmp 0x5264ae
cmp dword [esp + 0x24], ecx
jne 0x525a06
dec edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], edi
cmp dword [esp + 0x44], ecx
je 0x525a19
mov dword [esp + 0x48], 1
jmp case.0x5258cb.4
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x90], eax
mov eax, dword [ebx + 0x1c]
push eax
call fcn.0043bf80
mov ecx, dword [0x613690]
push ecx
mov dword [esp + 0x58], eax
call fcn.0043bf80
add esp, 8
mov dword [esp + 0x5c], eax
jmp 0x5264ae
mov edx, dword [ebp + 8]
cmp dword [edx + 0x71c], 9
jne case.0x5258cb.4
cmp dword [esp + 0x24], ecx
je 0x525a74
cmp dword [esp + 0x44], ecx
jne 0x525a81
mov dword [esp + 0x48], 1
jmp case.0x5258cb.4
dec edi
mov dword [esp + 0x24], 1
mov dword [esp + 0x1c], edi
inc dword [esp + 0x44]
jmp 0x5264ae
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x5264ef
mov eax, dword [esp + 0x24]
test eax, eax
je 0x525ab0
mov dword [esp + 0x68], 1
jmp case.0x5258cb.4
mov eax, dword [esp + 0x74]
cmp edi, eax
mov dword [esp + 0x1c], edi
jl 0x525ac1
dec eax
mov dword [esp + 0x1c], eax
mov eax, 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x24], eax
cmp dword [esp + 0x20], 0xffffffff
jne 0x525add
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0x5264ae
mov eax, dword [esp + 0x44]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0xbc], ecx
mov dword [esp + 0x120], ecx
je 0x525b96
mov dword [esp + 0xbc], 1
jle 0x525b8e
mov edx, dword [ebp + 8]
mov ebx, dword [esp + 0xcc]
lea edi, [edx + ebx*4 + 0x794]
mov dword [esp + 0x54], eax
jmp 0x525b30
test edx, edx
je 0x525b76
test ebx, ebx
jl 0x525b5c
cmp ebx, 0x32
jge 0x525b5c
mov ecx, dword [edi]
test ecx, ecx
jle 0x525b5c
mov eax, dword [edx + 0xa04]
imul eax, ecx
add eax, 2
inc ebx
add edi, 4
mov dword [esp + 0x120], eax
jmp 0x525b81
mov eax, dword [esp + 0x2c]
mov ecx, dword [edx + 0xa04]
lea eax, [eax + ecx*8]
inc ebx
add edi, 4
mov dword [esp + 0x120], eax
jmp 0x525b81
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x120], ecx
dec dword [esp + 0x54]
jne 0x525b30
mov dword [esp + 0xcc], ebx
mov dword [esp + 0x44], 0
mov ecx, dword [esp + 0x20]
test ecx, ecx
jl 0x526245
mov eax, dword [esp + 0x1c]
test eax, eax
jl 0x526245
cmp eax, ecx
jl 0x526245
sub eax, ecx
inc eax
test eax, eax
mov dword [esp + 0x18], eax
jle 0x526245
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x525bef
mov eax, dword [esp + 0xc0]
test eax, eax
je 0x525bde
jle 0x526245
mov eax, dword [esp + 0x60]
test eax, eax
je 0x525bef
cmp eax, 1
jne 0x526245
mov eax, dword [esp + 0x84]
test eax, eax
je 0x525c1b
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
mov edx, dword [ecx]
lea eax, [esp + 0x24]
push eax
push edx
call fcn.0057b760
add esp, 0xc
test eax, eax
je 0x526245
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x525c5f
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x525c5f
mov edi, dword [esp + 0x14]
push eax
mov eax, dword [edi]
push eax
call fcn.005cf858
add esp, 8
cmp eax, 2
jne 0x525c63
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
dec ecx
inc eax
mov dword [esp + 0x60], 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x18], eax
jmp 0x525c6b
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x525ccc
mov ecx, dword [esp + 0x20]
mov edx, dword [edi]
push ecx
push edx
call fcn.005cf858
add esp, 8
cmp eax, 1
jne 0x525cc4
mov eax, dword [esp + 0x18]
cmp eax, 1
jne 0x525c93
mov dword [esp + 0x18], 2
jmp 0x525c98
cmp eax, 2
jne 0x525ccc
mov eax, dword [edi]
mov ecx, dword [esp + 0x20]
mov dl, byte [eax + ecx + 1]
test dl, dl
je 0x526245
inc ecx
push ecx
push eax
call fcn.005cf858
add esp, 8
cmp eax, 2
jne 0x526245
mov edi, dword [esp + 0x14]
jmp 0x525ccc
mov dword [esp + 0x60], 0
mov eax, dword [esp + 0x84]
xor ebx, ebx
test eax, eax
je 0x525d00
mov ecx, dword [edi]
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
push eax
add ecx, edi
push ecx
call fcn.00579010
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x525d00
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [esp + 0x18], eax
xor eax, eax
test ebx, ebx
mov ecx, 0xe
lea edi, [esp + 0x150]
rep stosd dword es:[edi], eax
je 0x525d23
lea edx, [esp + 0x150]
push edx
push esi
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
xor eax, eax
cmp ebx, eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x54], eax
je 0x525d61
push eax
push str.print_start
push eax
mov eax, dword [esp + 0x24]
push eax
push ebx
push esi
call fcn.00497b40
add esp, 0x18
test eax, eax
jle 0x525d61
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], ebx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x18], eax
mov edi, dword [sym.imp.GDI32.dll_GetTextMetricsA]
lea edx, [esp + 0x1d0]
push edx
push esi
call edi
mov eax, dword [esp + 0x80]
test eax, eax
mov dword [esp + 0x1c], 0
je 0x525dcf
lea eax, [esp + 0x198]
push eax
push esi
call edi
mov edi, dword [esp + 0x150]
mov edx, dword [esp + 0x198]
cmp edi, edx
jle 0x525dcf
mov eax, dword [esp + 0x154]
mov ecx, dword [esp + 0x19c]
cmp eax, ecx
jle 0x525dcf
sub eax, ecx
test eax, eax
mov dword [esp + 0x1c], eax
jle 0x525dcf
lea ecx, [edx + eax]
cmp ecx, edi
jle 0x525dcb
dec eax
dec ecx
test eax, eax
jg 0x525dc1
mov dword [esp + 0x1c], eax
test ebx, ebx
mov eax, dword [esp + 0x18]
je 0x525dfd
cmp eax, 0xffffffff
jne 0x525de3
push ebx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [esp + 0x138]
push ecx
push eax
push ebx
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPointW]
mov edi, dword [esp + 0x138]
jmp 0x525e32
mov edx, dword [esp + 0x14]
mov edi, dword [edx]
add edi, dword [esp + 0x20]
cmp eax, 0xffffffff
jne 0x525e1a
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x525e11
sub eax, edx
lea ecx, [esp + 0x130]
push ecx
push eax
push edi
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov edi, dword [esp + 0x130]
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
mov eax, dword [esp + 0x1f0]
mov edx, dword [0x61387c]
sub edi, eax
cmp ecx, edx
jne 0x525ef2
mov edx, dword [esp + 0x80]
push edx
mov edx, dword [esp + 0xbc]
lea ecx, [esp + 0xd8]
push ecx
mov ecx, dword [esp + 0xf8]
push edx
mov edx, dword [esp + 0xf8]
push eax
mov eax, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0x108]
push ecx
mov ecx, dword [esp + 0xfc]
push edx
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x54]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 4], ecx
mov ecx, dword [esp + 0x6c]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x54]
mov dword [edx + 0xc], ecx
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push edx
mov edx, dword [ebp + 8]
push eax
push ebx
push ecx
push esi
push edx
call fcn.00524730
add esp, 0x4c
test eax, eax
jne 0x525ef2
push 0xffffd8f1
push 0xffffd8f1
push 0x270f
push 0x270f
lea eax, [esp + 0xe4]
push eax
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0xbc]
test eax, eax
mov eax, dword [esp + 0x2c]
je 0x525f17
mov ecx, dword [esp + 0x120]
lea edx, [edi + eax]
cmp edx, ecx
jle 0x525f17
mov edi, ecx
sub edi, eax
jns 0x525f17
xor edi, edi
mov ecx, dword [esp + 0x88]
add edi, eax
test ecx, ecx
mov dword [esp + 0x34], edi
je 0x525ff3
mov eax, dword [0x613690]
push eax
call fcn.0043bf80
mov ecx, dword [eax*4 + 0x612870]
add esp, 4
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [0x6136a4]
push edx
mov dword [esp + 0xa8], eax
call fcn.0043bf80
mov eax, dword [eax*4 + 0x612870]
add esp, 4
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
test ebx, ebx
mov dword [esp + 0x9c], eax
push 0
je 0x525fa2
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
push eax
push ebx
lea edi, [ecx + edx]
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x38]
push ecx
push 6
push edi
push edx
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutW]
jmp 0x525fd3
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
lea edi, [eax + ecx]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [esp + 0x24]
push edx
add ecx, eax
mov eax, dword [esp + 0x34]
push ecx
lea edx, [esp + 0x38]
push edx
push 6
push edi
push eax
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov ecx, dword [esp + 0xa4]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [esp + 0x9c]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
jmp 0x526053
test ebx, ebx
push 0
je 0x526022
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
lea edi, [ecx + edx]
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x84]
push ebx
lea edx, [esp + 0x38]
push edx
push ecx
push edi
push eax
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutW]
jmp 0x526053
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
lea edi, [edx + ecx]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [ecx]
add edx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x88]
lea ecx, [esp + 0x38]
push ecx
push edx
push edi
push eax
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
cmp ecx, dword [0x61387c]
jne 0x5261ce
mov edx, dword [esp + 0xd8]
cmp edx, 0x270f
je 0x5261ac
cmp dword [esp + 0xe0], 0xffffd8f1
je 0x5261ac
mov ecx, dword [esp + 0xd4]
cmp ecx, 0x270f
je 0x5261ac
mov eax, dword [esp + 0xdc]
cmp eax, 0xffffd8f1
je 0x5261ac
push dword [esp + 0xe0]
mov dword [esp + 0xcc], 1
push eax
push edx
push ecx
push esi
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x526140
mov edx, dword [0x6136a4]
push edx
call fcn.0043bf80
mov eax, dword [eax*4 + 0x612870]
add esp, 4
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [0x613690]
push ecx
mov dword [esp + 0xa8], eax
call fcn.0043bf80
mov edx, dword [eax*4 + 0x612870]
add esp, 4
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
test ebx, ebx
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x18]
push 0
push eax
je 0x526166
mov edx, dword [esp + 0x34]
push ebx
lea ecx, [esp + 0x38]
push ecx
push 6
push edi
push edx
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutW]
jmp 0x526185
mov edx, dword [0x613690]
push edx
call fcn.0043bf80
mov eax, dword [eax*4 + 0x612870]
add esp, 4
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [0x6136a4]
jmp 0x5260f8
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
add edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
push edx
lea eax, [esp + 0x38]
push eax
push 6
push edi
push ecx
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov edx, dword [esp + 0xa4]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [esp + 0x9c]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push esi
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push 0xffffd8f1
push 0xffffd8f1
push 0x270f
push 0x270f
lea ecx, [esp + 0xe4]
push ecx
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esp + 0x80]
test eax, eax
mov edx, dword [esp + 0x34]
mov dword [esp + 0x2c], edx
je 0x526238
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x54]
sub ecx, eax
test ecx, ecx
lea ebx, [ebx + eax*2]
mov dword [esp + 0x54], ecx
push 0
jle 0x52621d
push str.print_next
push 1
mov edi, ecx
push edi
push ebx
push esi
call fcn.00497b40
add esp, 0x18
test eax, eax
jg 0x525d5d
mov dword [esp + 0x18], edi
jmp 0x525d61
push str.print_end
push 2
push 0
push 0
push esi
call fcn.00497b40
mov ebx, dword [esp + 0x98]
add esp, 0x18
test ebx, ebx
je 0x526245
push ebx
call fcn.005cc393
add esp, 4
mov eax, dword [esp + 0x50]
mov ecx, dword [eax*4 + 0x612870]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edi, dword [esp + 0x5c]
mov edx, dword [edi*4 + 0x612870]
push edx
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
cmp dword [esp + 0x3c], 1
jne 0x526293
mov eax, dword [0x613690]
push eax
call fcn.0043bf80
xor ecx, ecx
add esp, 4
cmp edi, eax
setne cl
lea ecx, [ecx + ecx + 4]
mov edi, ecx
mov dword [esp + 0x7c], edi
jmp 0x526297
mov edi, dword [esp + 0x7c]
mov eax, dword [esp + 0xbc]
test eax, eax
je 0x5263ae
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x120]
cmp eax, ebx
jge 0x526306
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
push 0
push 0
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0x40]
push 0x5e6c98
mov dword [esp + 0x110], edx
lea edx, [esp + 0x104]
push edx
push edi
push ecx
push eax
mov dword [esp + 0x11c], eax
push esi
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x118], eax
mov dword [esp + 0x120], ebx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [esp + 0x88]
test eax, eax
je 0x52638a
mov eax, dword [0x613690]
push eax
call fcn.0043bf80
mov ecx, dword [eax*4 + 0x612870]
add esp, 4
push ecx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [0x6136a4]
push edx
mov ebx, eax
call fcn.0043bf80
mov eax, dword [eax*4 + 0x612870]
add esp, 4
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edx, dword [esp + 0x10]
push 0
push 0
push 0x5e6c98
lea ecx, [esp + 0x38]
push ecx
push 6
mov edi, eax
mov eax, dword [esp + 0x40]
push edx
push eax
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
push ebx
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push edi
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov ebx, dword [esp + 0x120]
jmp 0x5263aa
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
push 0
push 0
push 0x5e6c98
lea ecx, [esp + 0x38]
push ecx
push edi
push edx
push eax
push esi
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x90]
cmp dword [esp + 0xb0], ebx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x88], ecx
jne 0x5263dd
mov edx, dword [esp + 0xb4]
cmp edx, dword [esp + 0x58]
je 0x526498
mov eax, dword [esp + 0x58]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x78]
test eax, eax
mov dword [esp + 0xb0], ebx
je 0x5263ff
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x52640e
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
test ebx, ebx
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0x9f4]
je 0x526434
xor ecx, ecx
cmp eax, 0x190
setne cl
dec ecx
and ecx, 0x12c
add ecx, 0x190
mov eax, ecx
mov ecx, dword [edi + 0x9f8]
lea edx, [edi + 0x98c]
push edx
mov edx, dword [esp + 0x5c]
push 0
push 0
push 0
push 0
push ecx
push 0
push edx
push 0
push eax
mov eax, dword [edi + 0x9f0]
push 0
push 0
push 0
neg eax
push eax
call dword [sym.imp.GDI32.dll_CreateFontA]
test eax, eax
mov dword [esp + 0x70], eax
je 0x526474
push eax
jmp 0x52647b
mov ecx, dword [edi + 0x988]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
lea edx, [esp + 0x240]
push edx
push esi
mov dword [esp + 0x80], eax
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x20], eax
xor eax, eax
cmp ecx, eax
mov dword [esp + 0x1c], eax
jne 0x5264de
mov ecx, dword [ebp + 0x18]
mov eax, dword [esp + 0x2c]
add ecx, 0xfffffffe
cmp eax, ecx
jl 0x5264c9
mov dword [esp + 0x68], 1
jmp 0x525a8a
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x525a8a
inc dword [esp + 0x28]
jmp 0x5257b0
mov dword [esp + 0x48], eax
mov dword [esp + 0x20], 0xffffffff
jmp 0x5257b0
cmp dword [esp + 0x3c], 1
je 0x5254ff
mov edx, dword [0x613690]
push edx
call fcn.0043bf80
mov eax, dword [eax*4 + 0x612870]
add esp, 4
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebp + 0x18]
push 0
push 0
push 0x5e6c98
lea edx, [esp + 0x38]
push edx
push 6
push edi
push eax
push esi
mov dword [esp + 0x54], ecx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x6f8], ebx
jne 0x526555
cmp dword [ebx + 0x20], 2
je 0x525503
push 0
push 0
push 0x5e6c98
lea edx, [esp + 0x38]
push edx
push 6
push edi
push 0
push esi
mov dword [esp + 0x4c], 0
mov dword [esp + 0x54], 2
call dword [sym.imp.GDI32.dll_ExtTextOutA]
jmp 0x525503
mov eax, dword [esp + 0xe8]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [esp + 0x4c]
test eax, eax
jl 0x5265a4
push eax
call fcn.005cf6ab
add esp, 4
mov ecx, dword [esp + 0x78]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x70]
test eax, eax
je 0x5265bf
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x526604
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0x1c]
mov ecx, dword [ebp + 0x18]
mov edi, dword [esp + 0x64]
push 0xcc0020
push 0
push 0
push esi
push edx
sub ecx, eax
push ecx
push 0
push eax
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0xc4]
push edx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov esi, edi
mov eax, dword [esp + 0xd0]
test eax, eax
je case.0x524c55.4
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x87c]
push esi
push ecx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov esi, dword [ebp + 8]
mov eax, dword [esi + 0x980]
xor edi, edi
cmp eax, edi
je 0x52663c
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [esi + 0x980], edi
mov eax, dword [esi]
mov dword [esi + 0x984], edi
cmp eax, dword [0x61387c]
jne 0x52668c
cmp dword [esp + 0xc8], edi
je 0x526686
mov dword [esi + 0xdc0], 1
cmp eax, dword [0x6374b8]
jne 0x526671
push 1
call fcn.004a7250
add esp, 4
push 0x7f01
push edi
call dword [sym.imp.USER32.dll_LoadCursorA]
push eax
call dword [sym.imp.USER32.dll_SetCursor]
jmp 0x52668c
mov dword [esi + 0xdc0], edi
mov edx, dword [esi + 0x714]
mov dword [esi + 0x718], edx
mov dword [0x63f7d4], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret