Function at 0x431460
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x573d38
mov eax, dword fs:[0]
push eax
sub esp, 0xc
push ebx
push esi
push edi
mov eax, dword [0x5d2614]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 4], 0
cmp dword [esi + 8], 0
je 0x43180f
sub esp, 0x28
mov eax, esp
mov dword [ebp - 0x14], esp
push eax
lea edi, [ebp + 0x18]
call fcn.004242f0
mov ecx, dword [ebp + 8]
push ecx
mov ebx, esi
call fcn.00422e50
mov eax, dword [esi + 8]
xor edi, edi
test eax, eax
jle 0x43180f
xor ebx, ebx
mov dword [ebp - 0x10], ebx
test ebx, ebx
jl 0x43182b
cmp edi, eax
jge 0x43182b
mov edx, dword [esi + 4]
mov eax, dword [ebx + edx + 0x30]
push eax
push 0
push str.LastFirmVer
push 0x5a5b30
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
je 0x431501
cmp dword [ebp + 0x10], 0
jne 0x4317fa
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2c0], 1
je 0x431538
cmp edi, dword [esi + 8]
jge 0x43182b
mov ecx, dword [esi + 4]
mov eax, dword [ebx + ecx + 0x30]
push eax
push 0
push str.PrinterOnline
push 0x5a5b30
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
test eax, eax
jne 0x4317fa
cmp edi, dword [esi + 8]
jge 0x43182b
mov edx, dword [esi + 4]
mov eax, dword [ebx + edx + 0x30]
push eax
push 0
push str.UpdateOnly
push 0x5a5b30
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp edi, dword [esi + 8]
jge 0x43182b
test eax, eax
je 0x431579
mov eax, dword [esi + 4]
cmp dword [ebx + eax + 0xb0], 0
je 0x4317fa
mov ecx, dword [esi + 4]
mov eax, dword [ebx + ecx + 0x30]
push eax
push 0
push str.RunServerOS
push 0x5a5b30
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp dword [ebp + 0x14], 0
je 0x4315a1
test eax, eax
je 0x4317fa
cmp edi, dword [esi + 8]
jge 0x43182b
mov edx, dword [esi + 4]
cmp dword [ebx + edx + 0xd8], 0
lea eax, [ebx + edx]
mov dword [ebp - 0x14], eax
je 0x4317fa
cmp dword [eax + 0xac], 0
jne 0x4315d7
cmp dword [eax + 0xb0], 0
je 0x4317fa
cmp dword [0x5db250], 0
je 0x431647
mov eax, dword [eax + 0x18]
cmp dword [eax - 0xc], 0
jl 0x431647
push str.Usage_Panel
push eax
call fcn.00543082
add esp, 8
test eax, eax
je 0x431647
mov ecx, dword [ebp - 0x14]
sub eax, dword [ecx + 0x18]
sar eax, 1
js 0x431647
cmp edi, dword [esi + 8]
jge 0x43182b
mov edx, dword [esi + 4]
mov eax, 1
mov dword [ebx + edx + 0xac], eax
cmp edi, dword [esi + 8]
jge 0x43182b
mov ecx, dword [esi + 4]
mov dword [ebx + ecx + 0xa8], eax
cmp edi, dword [esi + 8]
jge 0x43182b
mov edx, dword [esi + 4]
mov dword [ebx + edx + 0xb0], 0
cmp edi, dword [esi + 8]
jge 0x43182b
mov eax, dword [esi + 4]
add ebx, eax
mov eax, dword [ebx + 0xa8]
test eax, eax
je 0x431779
cmp dword [ebx + 0xb0], 0
je 0x43167b
mov dword [ebx + 0xac], 1
jmp 0x431783
test eax, eax
je 0x431779
cmp dword [ebx + 0xb0], 0
jne 0x431779
cmp dword [ebx + 0xbc], 0
je 0x4316d2
mov eax, edi
mov ecx, esi
call fcn.00417790
cmp dword [eax + 0xd4], 0
jne 0x4316d2
mov eax, edi
mov ecx, esi
call fcn.00417790
cmp dword [eax + 0xdc], 0
mov ecx, esi
mov eax, edi
jne 0x4316d6
call fcn.00417790
mov dword [eax + 0xac], 1
jmp 0x4316e5
mov eax, edi
mov ecx, esi
call fcn.00417790
mov dword [eax + 0xac], 0
call fcn.00451b96
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xcc]
cmp dword [ecx + 0x4c], 0
je 0x431783
push 0x5a7a58
mov eax, edi
mov ecx, esi
call fcn.00417790
mov ecx, eax
add ecx, 0x18
call fcn.00406490
test eax, eax
je 0x431764
push 0x5a7a60
mov eax, edi
mov ecx, esi
call fcn.00417790
mov ecx, eax
add ecx, 0x18
call fcn.00406490
test eax, eax
je 0x431764
mov eax, edi
mov ecx, esi
call fcn.00417790
mov ebx, eax
mov eax, dword [ebx + 0x18]
add ebx, 0x18
cmp dword [eax - 0xc], 0
jl 0x431783
push str.Usage_Panel
push eax
call fcn.00543082
add esp, 8
test eax, eax
je 0x431783
sub eax, dword [ebx]
sar eax, 1
js 0x431783
mov eax, edi
mov ecx, esi
call fcn.00417790
mov dword [eax + 0xac], 0
jmp 0x431783
mov dword [ebx + 0xac], 0
cmp edi, dword [esi + 8]
jge 0x43182b
mov eax, dword [ebp + 8]
mov ebx, dword [esi + 4]
mov ecx, dword [eax + 0x90]
add ebx, dword [ebp - 0x10]
add eax, 0x88
mov dword [ebp - 0x14], ecx
test ecx, ecx
jl 0x43182b
inc ecx
push eax
call fcn.00417ad0
mov eax, dword [ebp + 8]
push ebx
mov ebx, dword [ebp - 0x14]
imul ebx, ebx, 0xe0
add ebx, dword [eax + 0x8c]
add eax, 0x88
call fcn.00417e60
cmp edi, dword [esi + 8]
jge 0x43182b
mov edx, dword [esi + 4]
mov eax, dword [ebp - 0x10]
add eax, edx
cmp dword [eax + 0xb0], 0
je 0x4317f7
cmp dword [eax + 0xa8], 0
je 0x4317f7
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 1
mov ebx, dword [ebp - 0x10]
mov eax, dword [esi + 8]
inc edi
add ebx, 0xe0
cmp edi, eax
mov dword [ebp - 0x10], ebx
jl 0x4314c9
lea esi, [ebp + 0x18]
call fcn.00421b00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x38
call fcn.00448939
int3