Function at 0x407ef0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x9c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
push 0xffffff
call fcn.00406ec0
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 8
push ebx
call esi
mov dword [esp + 0x10], eax
push 0xa
fild dword [esp + 0x14]
push ebx
fmul qword [0x413390]
fstp qword [esp + 0x28]
call esi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 0
fild dword [esp + 0x10]
mov dword [esp + 0x10], 0xa
fmul qword [0x413388]
fstp qword [esp + 0x28]
fild dword [esp + 0x14]
fld qword [0x413300]
xor edi, edi
fmul st(1)
mov dword [esp + 0xc], edi
fadd qword [0x413380]
fldlg2
fxch st(1)
fyl2x
fmul qword [0x413348]
call fcn.004090b0
fild dword [esp + 0x10]
mov dword [esp + 0x34], eax
fmul qword [0x413378]
fabs
fsubr qword [0x413348]
call fcn.004090b0
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fstp qword [esp + 0x48]
fmul qword [esp + 0x20]
fadd qword [0x413380]
call fcn.004090b0
mov dword [esp + 0x1c], eax
fild dword [esp + 0xc]
fst qword [esp + 0x50]
fmul qword [0x413370]
call fcn.004090b0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x34]
cmp eax, 0xff
mov dword [esp + 0xc], eax
jle 0x407fe2
mov dword [esp + 0xc], 0xff
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
fild dword [esp + 0xc]
push eax
push ecx
sub esp, 0x10
fstp qword [esp + 8]
fild dword [esp + 0x30]
fstp qword [esp]
call fcn.00407dd0
add esp, 0x18
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
fld qword [esp + 0x50]
fmul qword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov esi, eax
mov dword [esp + 0x38], edx
fadd qword [0x413380]
call fcn.004090b0
fild dword [esp + 0x38]
mov dword [esp + 0x3c], eax
fadd qword [esp + 0x20]
fsub qword [0x413380]
call fcn.004090b0
fild dword [esp + 0x3c]
mov dword [esp + 0x40], eax
fadd qword [esp + 0x28]
fsub qword [0x413380]
call fcn.004090b0
mov dword [esp + 0x44], eax
lea eax, [esp + 0x38]
push esi
push eax
push ebx
call dword [sym.imp.USER32.dll_FillRect]
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
inc edi
cmp edi, 0xf
mov dword [esp + 0xc], edi
jl 0x407fb4
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
inc esi
dec eax
cmp eax, 0xfffffff6
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], eax
jg 0x407f51
xor esi, esi
mov dword [esp + 0x58], 0x416014
mov dword [esp + 0x5c], 0x416010
mov dword [esp + 0x60], 0x41600c
mov dword [esp + 0x64], 0x416008
mov dword [esp + 0x68], 0x416004
mov dword [esp + 0x6c], 0x416000
mov dword [esp + 0x70], 0x415ffc
mov dword [esp + 0x74], 0x415ff8
mov dword [esp + 0x78], 0x415ff4
mov dword [esp + 0x7c], 0x415ff0
mov dword [esp + 0x80], 0x415fec
mov dword [esp + 0x84], 0x415fe8
mov dword [esp + 0x88], 0x415fe4
mov dword [esp + 0x8c], 0x415fe0
mov dword [esp + 0x90], 0x415fdc
mov dword [esp + 0x94], 0x415fd8
mov dword [esp + 0x98], 0x415fd4
mov dword [esp + 0x9c], 0x415fd0
mov dword [esp + 0xa0], 0x415fcc
mov dword [esp + 0xa4], 0x415fc8
mov dword [esp + 0x14], esi
mov edx, dword [esp + esi*4 + 0x58]
or ecx, 0xffffffff
fild dword [esp + 0x14]
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
fmul qword [esp + 0x20]
fadd qword [0x413368]
not ecx
dec ecx
push ecx
push edx
push 5
call fcn.004090b0
push eax
push ebx
call dword [sym.imp.GDI32.dll_TextOutA]
inc esi
cmp esi, 0x14
mov dword [esp + 0x14], esi
jl 0x40815d
xor esi, esi
mov dword [esp + 0xc], esi
mov edx, dword [esp + esi*4 + 0x58]
or ecx, 0xffffffff
fild dword [esp + 0xc]
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
fmul qword [esp + 0x28]
fadd qword [0x413368]
not ecx
dec ecx
push ecx
push edx
call fcn.004090b0
push eax
push 5
push ebx
call dword [sym.imp.GDI32.dll_TextOutA]
inc esi
cmp esi, 0xf
mov dword [esp + 0xc], esi
jl 0x40819c
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4