Function at 0x50f560
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52ec50
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x559024]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x55a418]
and eax, 0x3ff
dec eax
cmp eax, 0x59
ja case.0x50f59f.2
movzx eax, byte [eax + 0x50fb8c]
jmp dword [eax*4 + 0x50fb84]
mov byte [ebp - 0x10], 1
jmp 0x50f5b0
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.005069b0
lea esi, [edi + 0x3c]
push esi
mov ecx, 0x53b7a8
call fcn.00466b30
push str.PrntPreView_NextBtn
lea eax, [edi + 0x4c]
call fcn.004fcf00
mov eax, dword [esi + 0x10]
mov ecx, eax
test eax, eax
jne 0x50f5f7
mov ecx, 0x538640
xor ebx, ebx
xor eax, eax
cmp dword [esi + 8], ebx
jle 0x50f623
cmp ecx, ebx
je 0x50f623
cmp word [ecx], bx
je 0x50f623
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x50f615
mov eax, 0x538640
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 0x50f637
mov ecx, 0x538640
xor eax, eax
cmp dword [esi + 8], ebx
jle 0x50f661
cmp ecx, ebx
je 0x50f661
cmp word [ecx], bx
je 0x50f661
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x50f653
mov eax, 0x538640
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 0x50f673
mov eax, 0x538640
mov dword [ebp - 0x10], ebx
cmp dword [esi + 8], ebx
jle 0x50f6a1
cmp eax, ebx
je 0x50f6a1
cmp word [eax], bx
je 0x50f6a1
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x50f690
mov ecx, 0x538640
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 0x50f6ad
mov ecx, 0x538640
mov dword [ebp - 0x14], ebx
cmp dword [esi + 8], ebx
jle 0x50f6dd
cmp ecx, ebx
je 0x50f6dd
cmp word [ecx], bx
je 0x50f6dd
mov esi, dword [esi + 4]
mov eax, esi
cmp esi, ebx
jne 0x50f6cc
mov eax, 0x538640
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 [0x55a3f8]
cmp eax, ebx
mov ebx, dword [sym.imp.USER32.dll_LoadImageW]
je 0x50f737
push 0x80
push 0
push 0
push 0
push 0xc8c9
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x50f72d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp + 0x18], esi
jmp 0x50f741
mov dword [0x55a3ec], 0x57
mov dword [ebp - 0x18], 0
test eax, eax
je 0x50f77a
push 0x80
push 0
push 0
push 0
push 0xc8ca
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x50f770
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp - 0x18], esi
jmp 0x50f784
mov dword [0x55a3ec], 0x57
mov dword [ebp - 0x1c], 0
test eax, eax
je 0x50f7bd
push 0x80
push 0
push 0
push 0
push 0xc8cb
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x50f7b3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp - 0x1c], esi
jmp 0x50f7c7
mov dword [0x55a3ec], 0x57
xor edx, edx
test eax, eax
je 0x50f7f2
push 0x80
push edx
push edx
push edx
push 0xc8cc
push eax
call ebx
mov esi, eax
test esi, esi
jne 0x50f7ee
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov edx, esi
jmp 0x50f7fc
mov dword [0x55a3ec], 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, 0x55a400
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.00467b90
mov dword [ebp - 4], ebx
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x244], ebx
cmp eax, ebx
jne 0x50f88a
mov eax, 0x538640
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.00433520
mov ecx, dword [edi + 0xb4]
mov esi, eax
test ecx, ecx
je 0x50f8d5
push 0
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x50f8e9
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 0x50f8f5
mov edi, 0x538640
mov ecx, dword [ebp - 0x24]
call fcn.00506a20
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 [0x55a3f8]
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
test eax, eax
je 0x50f950
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 0x50f947
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov ebx, esi
jmp 0x50f95a
mov dword [0x55a3ec], 0x57
mov dword [ebp + 0x18], 0
test eax, eax
je 0x50f997
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 0x50f98d
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp + 0x18], esi
jmp 0x50f9a1
mov dword [0x55a3ec], 0x57
mov dword [ebp + 0x14], 0
test eax, eax
je 0x50f9de
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 0x50f9d4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp + 0x14], esi
jmp 0x50f9e8
mov dword [0x55a3ec], 0x57
xor edx, edx
test eax, eax
je 0x50fa17
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 0x50fa13
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov edx, esi
jmp 0x50fa21
mov dword [0x55a3ec], 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, 0x55a400
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.00467b90
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 1
call fcn.004fce50
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x3c]
cmp eax, ebx
je 0x50fabf
push eax
call fcn.005134a7
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 0x50fad1
mov eax, 0x538640
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.00433520
mov ecx, dword [edi + 0x360]
mov esi, eax
test ecx, ecx
je 0x50fb1c
push 0
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x50fb30
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 0x50fb3c
mov edi, 0x538640
mov ecx, dword [ebp - 0x24]
call fcn.00506a20
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 0x50fb70
push eax
call fcn.005134a7
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