Function at 0x4175b0
Capabilities:
Print debug messages
Read .ini file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x49021c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x164
push ebx
push esi
push edi
mov edi, ecx
mov esi, 1
mov eax, dword [edi + 0x29c]
test eax, eax
je 0x417601
mov eax, dword [edi + 0x2a0]
test eax, eax
je 0x4175f8
cmp word [edi + 0x22c], si
je 0x417601
cmp dword [0x4f2210], 3
jne 0x417603
xor esi, esi
mov ebx, dword [ebp + 8]
mov dword [edi + 0xf4], esi
test ebx, ebx
je 0x417fca
mov eax, dword [edi + 0x234]
test eax, eax
je 0x417fca
mov ecx, dword [edi + 0x20]
lea eax, [esp + 0x34]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebx + 4]
lea edx, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x28], 0
call sub.gdiplus.dll_GdipCreateFromHDC
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], ebx
push 7
push ebx
mov dword [esp + 0x180], 0
call sub.gdiplus.dll_GdipSetInterpolationMode
test eax, eax
je 0x41766e
mov dword [esp + 0x50], eax
test esi, esi
je 0x417891
mov ecx, dword [edi + 0x27c]
mov esi, dword [esp + 0x40]
imul ecx, esi
mov eax, 0x43d7b7eb
mov ebx, dword [esp + 0x3c]
imul ecx
mov ecx, dword [edi + 0x280]
mov dword [esp + 0x44], 0
imul ecx, esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x43d7b7eb
mov dword [esp + 0x14], edx
imul ecx
sar edx, 7
mov ecx, edx
mov eax, 0x74b747cf
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [edi + 0x284]
imul ecx, ebx
mov esi, edx
imul ecx
mov ecx, dword [edi + 0x288]
imul ecx, ebx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x74b747cf
mov dword [esp + 0x10], edx
imul ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ebx, edx
lea edx, [esp + 0x44]
push edx
push 0
call sub.gdiplus.dll_GdipCreatePath
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
sub esi, eax
sub ebx, ecx
push esi
push ebx
push eax
mov eax, dword [esp + 0x50]
push ecx
push eax
mov byte [esp + 0x18c], 1
call sub.gdiplus.dll_GdipAddPathEllipseI
push eax
lea ecx, [esp + 0x48]
call fcn.004180f0
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x10]
push ecx
push edx
mov dword [esp + 0x18], 0
call sub.gdiplus.dll_GdipCreateRegionPath
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x108], eax
mov dword [esp + 0x104], ebx
mov al, byte [edi + 0x2c0]
mov byte [esp + 0x178], 2
mov byte [esp + 0x14], al
mov eax, dword [edi + 0x2c0]
mov esi, dword [esp + 0x14]
mov ecx, eax
shr ecx, 8
shr eax, 0x10
mov byte [esp + 0x18], cl
mov byte [esp + 0x1c], al
and esi, 0xff
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
or esi, 0xffffff00
and edx, 0xff
shl esi, 8
or esi, edx
and eax, 0xff
shl esi, 8
push 6
lea ecx, [esp + 0x28]
or esi, eax
mov dword [esp + 0x28], 0x49a5fc
call fcn.00418060
lea ecx, [esp + 0x14]
mov dword [esp + 0x24], 0x49a5f4
push ecx
push esi
mov dword [esp + 0x1c], 0
call sub.gdiplus.dll_GdipCreateSolidFill
mov esi, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x14]
push ebx
push eax
push esi
mov dword [esp + 0x34], eax
call sub.gdiplus.dll_GdipFillRegion
test eax, eax
je 0x417802
mov dword [esp + 0x50], eax
mov edx, dword [esp + 0x28]
mov dword [esp + 0x24], 0x49a5fc
push edx
call sub.gdiplus.dll_GdipDeleteBrush
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
sub eax, ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x30], eax
sub ecx, edx
lea eax, [esp + 0x18]
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x24]
xor edx, edx
push eax
push ecx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], edx
call sub.gdiplus.dll_GdipCreateRegionRectI
mov edx, dword [esp + 0x18]
push 3
push ebx
push edx
call sub.gdiplus.dll_GdipCombineRegionRegion
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
push 0
push eax
push esi
call sub.gdiplus.dll_GdipSetClipRegion
test eax, eax
je 0x417873
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x18]
push ecx
call sub.gdiplus.dll_GdipDeleteRegion
push ebx
call sub.gdiplus.dll_GdipDeleteRegion
mov edx, dword [esp + 0x44]
push edx
call sub.gdiplus.dll_GdipDeletePath
mov ebx, dword [esp + 0x20]
mov esi, dword [edi + 0x234]
push 0x10
call sub.gdiplus.dll_GdipAlloc
mov dword [esp + 0x1c], eax
test eax, eax
mov byte [esp + 0x178], 3
je 0x4178bc
push 0
push esi
mov ecx, eax
call fcn.00418130
mov esi, eax
jmp 0x4178be
xor esi, esi
mov ecx, dword [esi + 4]
lea eax, [esp + 0x14]
push eax
push ecx
mov byte [esp + 0x180], 0
mov dword [esp + 0x1c], 0
call sub.gdiplus.dll_GdipGetImageWidth
test eax, eax
je 0x4178e3
mov dword [esi + 8], eax
mov eax, dword [esi + 4]
lea edx, [esp + 0x10]
push edx
push eax
mov dword [esp + 0x18], 0
call sub.gdiplus.dll_GdipGetImageHeight
test eax, eax
je 0x417900
mov dword [esi + 8], eax
mov ecx, dword [esp + 0x10]
cmp ecx, 0x1e0
jbe 0x417911
mov ecx, 0x1e0
test esi, esi
je 0x41791a
mov eax, dword [esi + 4]
jmp 0x41791c
xor eax, eax
push 0
mov edx, dword [esp + 0x44]
push 0
push 0
push 2
push ecx
mov ecx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x54]
push 0
push 0
push edx
mov edx, dword [esp + 0x5c]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
push ecx
push eax
push ebx
call sub.gdiplus.dll_GdipDrawImageRectRectI
test eax, eax
je 0x417951
mov dword [esp + 0x50], eax
test esi, esi
je 0x41795d
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx]
cmp dword [0x4f2210], 3
jne 0x417e47
mov eax, dword [0x4f20b0]
push str.C:Secure1000Inspector.ini
test eax, eax
push 0x190
mov dword [esp + 0x18], 4
push str.WIDTH
jne 0x417b85
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.LOCATION
call esi
push str.C:Secure1000Inspector.ini
push 0x4b
push str.HEIGHT
push str.LOCATION
mov dword [esp + 0x28], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_0
push str.LOCATION
mov dword [esp + 0x24], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x1d
push str.TOP_0
push str.LOCATION
mov dword [esp + 0x94], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_1
push str.LOCATION
mov dword [esp + 0x98], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x8b
push str.TOP_1
push str.LOCATION
mov dword [esp + 0xa4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_2
push str.LOCATION
mov dword [esp + 0xa8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0xfa
push str.TOP_2
push str.LOCATION
mov dword [esp + 0xb4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_3
push str.LOCATION
mov dword [esp + 0xb8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x168
push str.TOP_3
push str.LOCATION
mov dword [esp + 0xc4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_4
push str.LOCATION
mov dword [esp + 0xc8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x1d
push str.TOP_4
push str.LOCATION
mov dword [esp + 0xd4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_5
push str.LOCATION
mov dword [esp + 0xd8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x8b
push str.TOP_5
push str.LOCATION
mov dword [esp + 0xe4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_6
push str.LOCATION
mov dword [esp + 0xe8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0xfa
push str.TOP_6
push str.LOCATION
mov dword [esp + 0xf4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_7
push str.LOCATION
mov dword [esp + 0xf8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x8b
push str.TOP_7
push str.LOCATION
mov dword [esp + 0x104], eax
call esi
mov dword [esp + 0xf8], eax
jmp 0x417d7f
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push str.LOCATION_SINGLE_POSE
call esi
push str.C:Secure1000Inspector.ini
push 0x4b
push str.HEIGHT
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0x28], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_0
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0x24], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x1d
push str.TOP_0
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0x94], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_1
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0x98], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x8b
push str.TOP_1
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xa4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_2
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xa8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0xfa
push str.TOP_2
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xb4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_3
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xb8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x168
push str.TOP_3
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xc4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_4
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xc8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x1d
push str.TOP_4
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xd4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_5
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xd8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x8b
push str.TOP_5
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xe4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_6
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xe8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0xfa
push str.TOP_6
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xf4], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x190
push str.LEFT_7
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0xf8], eax
call esi
push str.C:Secure1000Inspector.ini
push 0x8b
push str.TOP_7
push str.LOCATION_SINGLE_POSE
mov dword [esp + 0x104], eax
call esi
mov dword [esp + 0xf8], eax
mov dword [esp + 0x10], 8
fild dword [esp + 0x18]
fmul dword [0x49a5f0]
call sub.MSVCRT.dll__ftol
fild dword [esp + 0x14]
mov dword [esp + 0x18], eax
fmul dword [0x49a5ec]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
test eax, eax
jle 0x417e47
lea esi, [esp + 0x88]
mov dword [esp + 0x10], eax
fild dword [esi - 4]
lea ebx, [esi - 4]
fmul dword [0x49a5f0]
call sub.MSVCRT.dll__ftol
mov dword [ebx], eax
fild dword [esi]
fmul dword [0x49a5ec]
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x18]
mov dword [esi], eax
mov ecx, dword [ebx]
mov eax, dword [esp + 0x14]
add ecx, edx
mov dword [esi + 4], ecx
mov edx, dword [esi]
add eax, edx
mov dword [esi + 8], eax
mov ecx, dword [esi + 4]
mov edx, dword [esi]
push eax
mov eax, dword [ebx]
push ecx
push edx
push eax
lea ecx, [esp + 0x11c]
push str.region:__d___d___d___d
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x18
lea edx, [esp + 0x10c]
push edx
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov eax, dword [ebp + 8]
push ebx
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_DrawFocusRect]
mov eax, dword [esp + 0x10]
add esi, 0x10
dec eax
mov dword [esp + 0x10], eax
jne 0x417dbc
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
sub edx, esi
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x38]
xor eax, eax
sub ecx, edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], eax
lea edx, [esp + 0x10]
lea eax, [esp + 0x24]
push edx
push eax
mov dword [esp + 0x38], ecx
call sub.gdiplus.dll_GdipCreateRegionRectI
mov ecx, dword [esp + 0x10]
xor esi, esi
push esi
push ecx
push ebx
call sub.gdiplus.dll_GdipSetClipRegion
lea edx, [esp + 0x54]
mov dword [esp + 0x1c], eax
push edx
push esi
push 0x40000000
push 0xffff0000
mov dword [esp + 0x64], esi
call sub.gdiplus.dll_GdipCreatePen1
mov dword [esp + 0x58], eax
lea eax, [esp + 0x5c]
mov ecx, 5
mov dword [eax + 4], esi
mov dword [eax], esi
add eax, 8
dec ecx
jne 0x417eb8
cmp dword [edi + 0x258], esi
je 0x417f40
mov eax, dword [edi + 0x254]
mov esi, dword [eax]
cmp esi, eax
je 0x417f40
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], ecx
mov eax, dword [esi + 8]
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x54]
lea eax, [esp + 0x5c]
push 5
push eax
push ecx
push ebx
call sub.gdiplus.dll_GdipDrawLinesI
mov esi, dword [esi]
mov dword [esp + 0x1c], eax
cmp esi, dword [edi + 0x254]
jne 0x417ed7
mov al, byte [edi + 0x2bc]
test al, al
je 0x417fb0
mov edx, dword [edi + 0x2b0]
mov eax, dword [edi + 0x2a8]
mov ecx, dword [edi + 0x2ac]
mov esi, dword [edi + 0x2b4]
mov dword [esp + 0x64], edx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x54]
lea edx, [esp + 0x5c]
push 5
push edx
push eax
push ebx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x90], ecx
call sub.gdiplus.dll_GdipDrawLinesI
mov dword [esp + 0x1c], eax
mov byte [edi + 0x2bc], 0
mov ecx, dword [esp + 0x54]
push ecx
call sub.gdiplus.dll_GdipDeletePen
mov edx, dword [esp + 0x10]
push edx
call sub.gdiplus.dll_GdipDeleteRegion
push ebx
call sub.gdiplus.dll_GdipDeleteGraphics
mov ecx, dword [esp + 0x170]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8