Function at 0x51a8c0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x53ac30
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x5776b8]
and eax, 0x3ff
dec eax
cmp eax, 0x59
ja case.0x51a8ff.2
movzx eax, byte [eax + 0x51aeec]
jmp dword [eax*4 + 0x51aee4]
mov byte [ebp - 0x10], 1
jmp 0x51a910
mov byte [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ebx, dword [ebp + 0x10]
push ecx
lea eax, [edi + 0x5c]
push edx
mov ecx, 0x40
mov dword [ebp - 0x24], eax
call fcn.00511ef0
lea esi, [edi + 0x3c]
push esi
mov ecx, 0x554c58
call fcn.00470370
push str.PrntPreView_NextBtn
lea eax, [edi + 0x4c]
call fcn.005080c0
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x51a957
mov ecx, 0x54ee24
xor ebx, ebx
xor eax, eax
cmp dword [esi + 8], ebx
jle 0x51a983
cmp ecx, ebx
je 0x51a983
cmp word [ecx], bx
je 0x51a983
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x51a975
mov eax, 0x54ee24
push eax
push ebx
push str.Width
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [edi + 0x1650], eax
mov eax, dword [esi + 0x10]
mov ecx, eax
cmp eax, ebx
jne 0x51a997
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 8], ebx
jle 0x51a9c1
cmp ecx, ebx
je 0x51a9c1
cmp word [ecx], bx
je 0x51a9c1
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x51a9b3
mov eax, 0x54ee24
push eax
push ebx
push str.Height
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [edi + 0x1654], eax
mov eax, dword [esi + 0x10]
cmp eax, ebx
jne 0x51a9d3
mov eax, 0x54ee24
mov dword [ebp - 0x10], ebx
cmp dword [esi + 8], ebx
jle 0x51aa01
cmp eax, ebx
je 0x51aa01
cmp word [eax], bx
je 0x51aa01
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x51a9f0
mov ecx, 0x54ee24
push ecx
push ebx
push str.LMargin
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x10], eax
mov ecx, dword [esi + 0x10]
cmp ecx, ebx
jne 0x51aa0d
mov ecx, 0x54ee24
mov dword [ebp - 0x14], ebx
cmp dword [esi + 8], ebx
jle 0x51aa3d
cmp ecx, ebx
je 0x51aa3d
cmp word [ecx], bx
je 0x51aa3d
mov esi, dword [esi + 4]
mov eax, esi
cmp esi, ebx
jne 0x51aa2c
mov eax, 0x54ee24
push eax
push ebx
push str.RMargin
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 0x18]
sub eax, dword [edi + 0x1654]
mov dword [ebp + 0x18], ebx
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x10]
mov dword [edi + 0x1658], eax
mov eax, dword [0x577698]
cmp eax, ebx
mov ebx, dword [sym.imp.USER32.dll_LoadImageW]
je 0x51aa97
push 0x80
push 0
push 0
push 0
push 0xc8c9
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x51aa8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov eax, dword [0x577698]
mov dword [ebp + 0x18], esi
jmp 0x51aaa1
mov dword [0x57768c], 0x57
mov dword [ebp - 0x18], 0
test eax, eax
je 0x51aada
push 0x80
push 0
push 0
push 0
push 0xc8ca
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x51aad0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov eax, dword [0x577698]
mov dword [ebp - 0x18], esi
jmp 0x51aae4
mov dword [0x57768c], 0x57
mov dword [ebp - 0x1c], 0
test eax, eax
je 0x51ab1d
push 0x80
push 0
push 0
push 0
push 0xc8cb
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x51ab13
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov eax, dword [0x577698]
mov dword [ebp - 0x1c], esi
jmp 0x51ab27
mov dword [0x57768c], 0x57
xor edx, edx
test eax, eax
je 0x51ab52
push 0x80
push edx
push edx
push edx
push 0xc8cc
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x51ab4e
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov edx, esi
jmp 0x51ab5c
mov dword [0x57768c], 0x57
mov ecx, dword [edi + 0x1650]
mov eax, dword [edi + 0x1654]
mov ebx, dword [ebp + 0x18]
mov dword [edi + 0x258], ebx
mov ebx, dword [ebp - 0x18]
mov dword [edi + 0x25c], ebx
mov ebx, dword [ebp - 0x1c]
mov dword [edi + 0x2b4], ecx
mov dword [edi + 0x2c4], ecx
push 0x5211
lea ecx, [ebp - 0x30]
mov dword [edi + 0x260], ebx
xor ebx, ebx
push ecx
mov ecx, 0x5776a0
mov dword [edi + 0x264], edx
mov byte [edi + 0x249], 1
mov dword [edi + 0x2ac], ebx
mov dword [edi + 0x2b0], ebx
mov dword [edi + 0x2b8], eax
mov dword [edi + 0x2bc], ebx
mov dword [edi + 0x2c0], ebx
mov dword [edi + 0x2c8], eax
call fcn.00471480
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x244], ebx
cmp eax, ebx
jne 0x51abea
mov eax, 0x54ee24
mov edx, dword [edi + 0x1654]
mov ecx, dword [edi + 0x1650]
push edx
mov edx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x10]
push edx
mov edx, dword [ebp + 0xc]
push ecx
push ebx
mov ebx, dword [ebp + 0x10]
push eax
push 0x17f9
push edx
mov eax, 0x10000000
lea ecx, [edi + 0x84]
call fcn.0043b8a0
mov ecx, dword [edi + 0xb4]
mov esi, eax
test ecx, ecx
je 0x51ac35
push 0
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x51ac49
mov ecx, dword [edi + 0xb0]
mov ecx, dword [ecx + 4]
mov dword [ecx + edi + 0xb0], 6
mov edi, dword [ebp - 0x30]
test edi, edi
jne 0x51ac55
mov edi, 0x54ee24
mov ecx, dword [ebp - 0x24]
call fcn.00511f60
mov edi, dword [ebp + 8]
mov eax, dword [ebp - 0x14]
add eax, dword [edi + 0x1650]
mov ecx, dword [ebp + 0x14]
sub ecx, eax
mov dword [edi + 0x165c], eax
mov eax, dword [0x577698]
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x51acb0
push 0x80
push ebx
push ebx
push ebx
push 0xc8cd
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
test esi, esi
jne 0x51aca7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov eax, dword [0x577698]
mov ebx, esi
jmp 0x51acba
mov dword [0x57768c], 0x57
mov dword [ebp + 0x18], 0
test eax, eax
je 0x51acf7
push 0x80
push 0
push 0
push 0
push 0xc8ce
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
test esi, esi
jne 0x51aced
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov eax, dword [0x577698]
mov dword [ebp + 0x18], esi
jmp 0x51ad01
mov dword [0x57768c], 0x57
mov dword [ebp + 0x14], 0
test eax, eax
je 0x51ad3e
push 0x80
push 0
push 0
push 0
push 0xc8cf
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
test esi, esi
jne 0x51ad34
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov eax, dword [0x577698]
mov dword [ebp + 0x14], esi
jmp 0x51ad48
mov dword [0x57768c], 0x57
xor edx, edx
test eax, eax
je 0x51ad77
push 0x80
push edx
push edx
push edx
push 0xc8d0
push eax
call dword [sym.imp.USER32.dll_LoadImageW]
mov esi, eax
test esi, esi
jne 0x51ad73
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x57768c], eax
mov edx, esi
jmp 0x51ad81
mov dword [0x57768c], 0x57
mov ecx, dword [edi + 0x1650]
mov eax, dword [edi + 0x1654]
mov dword [edi + 0x504], ebx
mov ebx, dword [ebp + 0x18]
mov dword [edi + 0x508], ebx
mov ebx, dword [ebp + 0x14]
mov dword [edi + 0x560], ecx
mov dword [edi + 0x570], ecx
push 0x5210
lea ecx, [ebp - 0x3c]
mov dword [edi + 0x50c], ebx
xor ebx, ebx
push ecx
mov ecx, 0x5776a0
mov dword [edi + 0x510], edx
mov byte [edi + 0x4f5], 1
mov dword [edi + 0x558], ebx
mov dword [edi + 0x55c], ebx
mov dword [edi + 0x564], eax
mov dword [edi + 0x568], ebx
mov dword [edi + 0x56c], ebx
mov dword [edi + 0x574], eax
call fcn.00471480
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.00508010
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x51ae1f
push eax
call fcn.0051ebab
add esp, 4
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x4f0], ebx
cmp eax, ebx
jne 0x51ae31
mov eax, 0x54ee24
mov edx, dword [edi + 0x1654]
mov ecx, dword [edi + 0x1650]
push edx
mov edx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x1c]
push edx
mov edx, dword [ebp + 0xc]
push ecx
push ebx
mov ebx, dword [ebp + 0x10]
push eax
push 0x17fa
push edx
mov eax, 0x10000000
lea ecx, [edi + 0x330]
call fcn.0043b8a0
mov ecx, dword [edi + 0x360]
mov esi, eax
test ecx, ecx
je 0x51ae7c
push 0
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x51ae90
mov ecx, dword [edi + 0x35c]
mov ecx, dword [ecx + 4]
mov dword [ecx + edi + 0x35c], 6
mov edi, dword [ebp - 0x30]
test edi, edi
jne 0x51ae9c
mov edi, 0x54ee24
mov ecx, dword [ebp - 0x24]
call fcn.00511f60
mov eax, dword [ebp + 8]
mov edx, dword [eax + 0x1650]
add edx, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
add edx, dword [ebp - 0x10]
mov dword [eax + 0x164c], edx
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x51aed0
push eax
call fcn.0051ebab
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14