Function at 0x45e450
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push ebx
mov ebx, dword [ebp + 0xc]
push esi
mov esi, dword [ebp + 8]
push edi
add esi, 0x1e4
push esi
mov ecx, str.BrCcThumb.sdd
mov edi, eax
call fcn.00470370
test edi, edi
je 0x45e487
cmp word [edi], 0
je 0x45e487
mov eax, dword [ebp + 8]
push edi
add eax, 0x1f4
call fcn.005080c0
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e495
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e4c0
test ecx, ecx
je 0x45e4c0
cmp word [ecx], ax
je 0x45e4c0
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e4b1
mov eax, 0x54ee24
push eax
push 0
push str.Plate_Width
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e4d0
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e4fb
test ecx, ecx
je 0x45e4fb
cmp word [ecx], ax
je 0x45e4fb
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e4ec
mov eax, 0x54ee24
push eax
push 0
push str.Plate_Height
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 4], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e50c
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e537
test ecx, ecx
je 0x45e537
cmp word [ecx], ax
je 0x45e537
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e528
mov eax, 0x54ee24
push eax
push 0
push str.Plate_Margin
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 8], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e548
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e573
test ecx, ecx
je 0x45e573
cmp word [ecx], ax
je 0x45e573
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e564
mov eax, 0x54ee24
push eax
push 0
push str.CheckBox_PosiX
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e584
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e5af
test ecx, ecx
je 0x45e5af
cmp word [ecx], ax
je 0x45e5af
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e5a0
mov eax, 0x54ee24
push eax
push 0
push str.CheckBox_PosiY
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e5c0
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e5eb
test ecx, ecx
je 0x45e5eb
cmp word [ecx], ax
je 0x45e5eb
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e5dc
mov eax, 0x54ee24
push eax
push 0
push str.CheckBox_Width
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e5fc
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e627
test ecx, ecx
je 0x45e627
cmp word [ecx], ax
je 0x45e627
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e618
mov eax, 0x54ee24
push eax
push 0
push str.CheckBox_Height
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e638
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e663
test ecx, ecx
je 0x45e663
cmp word [ecx], ax
je 0x45e663
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e654
mov eax, 0x54ee24
push eax
push 0
push str.Thumb_Width
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0x2c], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e674
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e69f
test ecx, ecx
je 0x45e69f
cmp word [ecx], ax
je 0x45e69f
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e690
mov eax, 0x54ee24
push eax
push 0
push str.Thumb_Height
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0x30], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebx + 0x34], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e6b6
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e6e1
test ecx, ecx
je 0x45e6e1
cmp word [ecx], ax
je 0x45e6e1
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e6d2
mov eax, 0x54ee24
push eax
push 0
push str.Fname_Height
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebx + 0x38], eax
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x45e6f0
mov eax, 0x54ee24
xor edi, edi
cmp dword [esi + 8], edi
jle 0x45e71d
test eax, eax
je 0x45e71d
cmp word [eax], di
je 0x45e71d
mov ecx, dword [esi + 4]
test ecx, ecx
jne 0x45e70c
mov ecx, 0x54ee24
push ecx
push 0
push str.Fname_FontPoint
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
mov edx, dword [ebp + 8]
mov ecx, ebx
mov dword [ecx + 0x44], edi
mov ebx, dword [edx + 0x10]
push ebx
call dword [sym.imp.USER32.dll_GetDC]
push 0x48
push 0x5a
push eax
mov dword [ebp + 8], eax
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edi, eax
mov eax, dword [ebp + 8]
push eax
push ebx
neg edi
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 8]
mov eax, dword [ecx + 0x38]
neg edi
sub eax, edi
mov dword [ecx + 0x3c], edx
mov dword [ecx + 0x48], edi
cdq
mov edi, 2
idiv edi
add eax, edx
mov dword [ecx + 0x40], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e782
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e7b1
test ecx, ecx
je 0x45e7b1
cmp word [ecx], ax
je 0x45e7b1
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e79e
mov eax, 0x54ee24
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 0
push str.EditBox_PosiX
push ecx
call ebx
jmp 0x45e7b7
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, dword [ebp + 0xc]
mov dword [edi + 0x1c], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e7cb
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e7f2
test ecx, ecx
je 0x45e7f2
cmp word [ecx], ax
je 0x45e7f2
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e7e7
mov eax, 0x54ee24
push eax
push 0
push str.EditBox_PosiY
push ecx
call ebx
mov dword [edi + 0x20], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e803
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e82a
test ecx, ecx
je 0x45e82a
cmp word [ecx], ax
je 0x45e82a
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e81f
mov eax, 0x54ee24
push eax
push 0
push str.EditBox_Width
push ecx
call ebx
mov dword [edi + 0x24], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e83b
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e862
test ecx, ecx
je 0x45e862
cmp word [ecx], ax
je 0x45e862
mov eax, dword [esi + 4]
test eax, eax
jne 0x45e857
mov eax, 0x54ee24
push eax
push 0
push str.EditBox_Height
push ecx
call ebx
mov dword [edi + 0x28], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x45e873
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], eax
jle 0x45e89c
test ecx, ecx
je 0x45e89c
cmp word [ecx], ax
je 0x45e89c
mov esi, dword [esi + 4]
mov eax, esi
test esi, esi
jne 0x45e891
mov eax, 0x54ee24
push eax
push 0
push str.NumText_Margin
push ecx
call ebx
mov ecx, dword [edi + 0x1c]
mov dword [edi + 0x54], eax
add ecx, eax
cdq
sub eax, edx
sar eax, 1
add eax, dword [edi + 0x20]
mov dword [edi + 0x4c], ecx
mov dword [edi + 0x50], eax
pop edi
pop esi
pop ebx
pop ebp
ret 8