Function at 0x10002720
Capabilities:
Print debug messages

Disassembly:
mov eax, 0x1138
call fcn.10002fa0
push ebx
push ebp
push esi
push edi
mov ecx, 0x31
xor eax, eax
lea edi, [esp + 0x2d]
mov byte [esp + 0x2c], 0
rep stosd dword es:[edi], eax
mov ebp, dword [esp + 0x115c]
mov ebx, dword [esp + 0x1158]
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [esp + 0x1154]
mov edi, dword [esp + 0x1150]
push ebp
push eax
push ebx
push edi
lea ecx, [esp + 0x3c]
push str.left___d_right___d_top___d_bottom___d
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x18
lea edx, [esp + 0x2c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov esi, dword [esp + 0x114c]
test esi, esi
jne 0x1000279b
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1138
ret 0x28
mov eax, dword [esp + 0x1160]
test eax, eax
jne 0x100027b5
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1138
ret 0x28
mov ecx, esi
call fcn.10004290
cmp ebx, eax
jbe 0x100027d1
mov ecx, esi
call fcn.10004290
dec eax
mov dword [esp + 0x1158], eax
mov ebx, eax
mov ecx, esi
call fcn.10004280
cmp ebp, eax
jbe 0x100027eb
mov ecx, esi
call fcn.10004280
dec eax
mov dword [esp + 0x115c], eax
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov ebp, eax
lea eax, [esp + 0x14]
push eax
push 1
push 0x100f109c
push ebp
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
mov edx, ebx
or ecx, 0xffffffff
sub edx, edi
mov edi, dword [esp + 0x1160]
xor eax, eax
mov dword [esp + 0x20], edx
repne scasb al, byte es:[edi]
not ecx
mov eax, edx
dec ecx
xor edx, edx
div ecx
mov ebx, eax
dec ebx
cmp ebx, 1
jae 0x10002834
mov ebx, 1
mov edi, dword [esp + 0x18]
xor edx, edx
mov eax, edi
imul eax, ebx
div dword [esp + 0x14]
cmp eax, 1
mov dword [esp + 0x10], eax
jae 0x10002858
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x115c]
mov edx, dword [esp + 0x1154]
sub ecx, edx
cmp eax, ecx
mov dword [esp + 0x1c], ecx
jbe 0x10002883
mov eax, dword [esp + 0x14]
xor edx, edx
imul eax, ecx
div edi
mov dword [esp + 0x10], ecx
mov ebx, eax
mov eax, ecx
cmp ebx, 1
jae 0x1000288d
mov ebx, 1
cmp eax, 1
jae 0x1000289a
mov dword [esp + 0x10], 1
lea ecx, [esp + 0xf4]
push ecx
mov ecx, esi
call fcn.100083d0
xor edx, edx
mov edi, 0x100fea4c
mov dh, byte [esp + 0x116c]
mov eax, dword [esp + 0x1164]
mov dl, byte [esp + 0x1168]
and eax, 0xff
shl edx, 8
or edx, eax
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x1130], edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x1110]
mov eax, ecx
mov esi, edi
mov edi, edx
mov byte [esp + 0x1139], 0
shr ecx, 2
mov dword [esp + 0x1134], 0
mov byte [esp + 0x110b], 1
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea edx, [esp + 0x10f4]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10fc], ebx
mov dword [esp + 0x10f8], ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov esi, eax
push esi
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
or ecx, 0xffffffff
mov edx, dword [esp + 0x1160]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x24]
mov edi, edx
push eax
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push edx
push ebp
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
lea eax, [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
push ecx
push edx
push str.Get1_cx___d_cy___d
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov edx, dword [esp + 0x10]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebp
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
or ecx, 0xffffffff
xor eax, eax
mov edi, dword [esp + 0x1160]
lea edx, [esp + 0xf4]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x20]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jle 0x100029fc
mov eax, dword [esp + 0x1158]
sub eax, ecx
mov ecx, dword [esp + 0x1150]
sub eax, ecx
cdq
sub eax, edx
mov edi, eax
sar edi, 1
add edi, ecx
jmp 0x10002a03
mov edi, dword [esp + 0x1150]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x115c]
cmp ecx, edx
jle 0x10002a30
mov eax, esi
sub eax, edx
mov edx, dword [esp + 0x1154]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
sub esi, eax
jmp 0x10002a63
mov eax, ecx
mov dword [esp + 0x10f4], ecx
imul eax, ebp
cdq
idiv dword [esp + 0x18]
mov edx, 1
cmp ecx, edx
mov dword [esp + 0x10f8], eax
jge 0x10002a58
mov dword [esp + 0x10f4], edx
cmp eax, edx
jge 0x10002a63
mov dword [esp + 0x10f8], edx
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x115c]
mov eax, dword [esp + 0x1154]
push ebx
push ecx
mov ecx, dword [esp + 0x1160]
push ebp
push edx
mov edx, dword [esp + 0x1160]
push eax
push ecx
push edx
lea eax, [esp + 0x48]
push str.left___d_right___d_top___d_bottom___d_w___d_h___d_charwidth___d
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x24
lea ecx, [esp + 0x2c]
push ecx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea edx, [esp + 0xf4]
push 0
mov ecx, dword [esp + 0x1150]
push edx
push esi
push edi
push 0
call fcn.10007bd0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1138
ret 0x28