Function at 0x50f700
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x539e68
mov eax, dword fs:[0]
push eax
sub esp, 0x48
push ebx
push edi
mov eax, dword [0x575494]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ebx, [esi + 0x74]
push ebx
mov ecx, 0x554c48
call fcn.00470260
lea eax, [esi + 0x84]
push str.ToolBtn_BtnWnd
call fcn.005080c0
mov eax, dword [ebx + 0x10]
mov ecx, eax
test eax, eax
jne 0x50f753
mov ecx, 0x54ee24
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
xor eax, eax
mov dword [ebp - 0x24], eax
cmp dword [ebx + 8], eax
jle 0x50f786
test ecx, ecx
je 0x50f786
cmp word [ecx], ax
je 0x50f786
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f778
mov eax, 0x54ee24
push eax
push 0
push str.PosiX
push ecx
call edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x50f795
mov eax, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x1c], 0
jle 0x50f7c6
test eax, eax
je 0x50f7c6
cmp word [eax], 0
je 0x50f7c6
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x50f7b8
mov ecx, 0x54ee24
push ecx
push 0
push str.PosiY
push eax
call edi
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x50f7d2
mov ecx, 0x54ee24
xor edi, edi
cmp dword [ebx + 8], edi
jle 0x50f7ff
test ecx, ecx
je 0x50f7ff
cmp word [ecx], di
je 0x50f7ff
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f7ee
mov eax, 0x54ee24
push eax
push 0
push str.Width
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov edi, eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x50f80b
mov ecx, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x10], 0
jle 0x50f840
test ecx, ecx
je 0x50f840
cmp word [ecx], 0
je 0x50f840
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f82e
mov eax, 0x54ee24
push eax
push 0
push str.Height
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x10], eax
push str.ToolBtn_BtnPict
lea eax, [esi + 0x84]
call fcn.005080c0
mov eax, dword [ebx + 0x10]
mov ecx, eax
test eax, eax
jne 0x50f85e
mov ecx, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x14], 0
jle 0x50f893
test ecx, ecx
je 0x50f893
cmp word [ecx], 0
je 0x50f893
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f881
mov eax, 0x54ee24
push eax
push 0
push str.PosiX
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x14], eax
mov ecx, dword [ebx + 0x10]
test ecx, ecx
jne 0x50f89f
mov ecx, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x18], 0
jle 0x50f8d4
test ecx, ecx
je 0x50f8d4
cmp word [ecx], 0
je 0x50f8d4
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f8c2
mov eax, 0x54ee24
push eax
push 0
push str.PosiY
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [ebp - 0x18], eax
mov ebx, dword [ebx + 0x10]
mov ecx, ebx
test ebx, ebx
jne 0x50f8e2
mov ecx, 0x54ee24
xor ebx, ebx
cmp dword [esi + 0x7c], ebx
jle 0x50f90f
test ecx, ecx
je 0x50f90f
cmp word [ecx], bx
je 0x50f90f
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50f8fe
mov eax, 0x54ee24
push eax
push 0
push str.Width
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
mov ecx, dword [esi + 0x84]
test ecx, ecx
jne 0x50f91e
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], eax
jle 0x50f949
test ecx, ecx
je 0x50f949
cmp word [ecx], ax
je 0x50f949
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50f93a
mov eax, 0x54ee24
push eax
push 0
push str.Height
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
cmp byte [ebp + 0xc], 0
je 0x50fa73
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0x1bc], ecx
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x1c0], edx
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x1c8], ecx
mov dword [esi + 0x1c4], edi
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x2e4], ecx
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x2e8], ecx
mov byte [esi + 0x281], 1
mov dword [esi + 0x2ec], ebx
mov dword [esi + 0x2f0], eax
mov dword [esi + 0x2fc], ebx
mov dword [esi + 0x300], eax
xor ecx, ecx
mov dword [esi + 0x2f4], ecx
mov dword [esi + 0x2f8], ecx
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0x468], ecx
mov ecx, dword [ebp - 0x10]
mov dword [esi + 0x474], ecx
mov ecx, dword [ebp - 0x14]
mov dword [esi + 0x46c], edx
mov dword [esi + 0x470], edi
mov dword [esi + 0x590], ecx
mov ecx, dword [ebp - 0x18]
mov dword [esi + 0x594], ecx
mov byte [esi + 0x52d], 1
mov dword [esi + 0x598], ebx
mov dword [esi + 0x59c], eax
mov dword [esi + 0x5a8], ebx
mov dword [esi + 0x5ac], eax
xor ecx, ecx
mov dword [esi + 0x5a0], ecx
mov dword [esi + 0x5a4], ecx
mov ecx, dword [ebp - 0x24]
mov dword [esi + 0x718], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x720], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x71c], edi
add ecx, edi
mov dword [esi + 0x714], ecx
mov dword [esi + 0x83c], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x840], edx
xor edx, edx
mov byte [esi + 0x7d9], 1
mov dword [esi + 0x844], ebx
mov dword [esi + 0x848], eax
mov dword [esi + 0x84c], edx
mov dword [esi + 0x850], edx
mov dword [esi + 0x854], ebx
mov dword [esi + 0x858], eax
add ecx, edi
jmp 0x50fa7c
cmp byte [ebp + 0x10], 0
mov ecx, dword [ebp - 0x20]
je 0x50fadb
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x9c4], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x9cc], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x9c0], ecx
mov dword [esi + 0x9c8], edi
mov dword [esi + 0xae8], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0xaec], edx
xor edx, edx
mov byte [esi + 0xa85], 1
mov dword [esi + 0xaf0], ebx
mov dword [esi + 0xaf4], eax
mov dword [esi + 0xaf8], edx
mov dword [esi + 0xafc], edx
mov dword [esi + 0xb00], ebx
mov dword [esi + 0xb04], eax
add ecx, edi
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0xc70], edx
mov dword [esi + 0xc6c], ecx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0xc78], edx
mov dword [esi + 0xc74], edi
mov edx, dword [ebp - 0x14]
mov dword [esi + 0xd94], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0xd98], edx
mov byte [esi + 0xd31], 1
mov dword [esi + 0xd9c], ebx
mov dword [esi + 0xda0], eax
mov dword [esi + 0xdac], ebx
mov dword [esi + 0xdb0], eax
xor edx, edx
mov dword [esi + 0xda4], edx
mov dword [esi + 0xda8], edx
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0xf1c], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0xf24], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0xf20], edi
add ecx, edi
mov dword [esi + 0xf18], ecx
mov dword [esi + 0x1040], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x1044], edx
mov byte [esi + 0xfdd], 1
mov dword [esi + 0x1048], ebx
mov dword [esi + 0x104c], eax
mov dword [esi + 0x1058], ebx
mov dword [esi + 0x105c], eax
xor edx, edx
mov dword [esi + 0x1050], edx
mov dword [esi + 0x1054], edx
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x11c8], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x11d0], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x11cc], edi
add ecx, edi
mov dword [esi + 0x11c4], ecx
mov dword [esi + 0x12ec], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x12f0], edx
xor edx, edx
add ecx, edi
mov byte [esi + 0x1289], 1
mov dword [esi + 0x12f4], ebx
mov dword [esi + 0x12f8], eax
mov dword [esi + 0x12fc], edx
mov dword [esi + 0x1300], edx
mov dword [esi + 0x1304], ebx
mov dword [esi + 0x1308], eax
mov dword [ebp - 0x20], ecx
cmp byte [ebp + 0x14], dl
je 0x50fcc5
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x1474], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x147c], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x1470], ecx
mov dword [esi + 0x1478], edi
mov dword [esi + 0x1598], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x159c], edx
mov byte [esi + 0x1535], 1
mov dword [esi + 0x15a0], ebx
mov dword [esi + 0x15a4], eax
mov dword [esi + 0x15b0], ebx
mov dword [esi + 0x15b4], eax
xor edx, edx
mov dword [esi + 0x15a8], edx
mov dword [esi + 0x15ac], edx
mov edx, dword [ebp - 0x1c]
mov dword [esi + 0x1720], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x1728], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x1724], edi
add ecx, edi
mov dword [esi + 0x171c], ecx
mov dword [esi + 0x1844], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x1848], edx
xor edx, edx
add ecx, edi
mov byte [esi + 0x17e1], 1
mov dword [esi + 0x184c], ebx
mov dword [esi + 0x1850], eax
mov dword [esi + 0x1854], edx
mov dword [esi + 0x1858], edx
mov dword [esi + 0x185c], ebx
mov dword [esi + 0x1860], eax
mov dword [ebp - 0x20], ecx
cmp byte [ebp + 0x10], 0
je 0x5100e0
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov dword [esi + 0x19cc], edx
mov edx, dword [ebp - 0x10]
mov dword [esi + 0x19d4], edx
mov edx, dword [ebp - 0x14]
mov dword [esi + 0x19c8], ecx
mov dword [esi + 0x19d0], edi
mov dword [esi + 0x1af0], edx
mov edx, dword [ebp - 0x18]
mov dword [esi + 0x1af4], edx
mov dword [esi + 0x1afc], eax
mov dword [esi + 0x1b0c], eax
mov eax, dword [ebp - 0x1c]
xor edx, edx
mov byte [esi + 0x1a8d], 1
mov dword [esi + 0x1af8], ebx
mov dword [esi + 0x1b00], edx
mov dword [esi + 0x1b04], edx
mov dword [esi + 0x1b08], ebx
add ecx, edi
mov dword [esi + 0x1cbc], eax
push str.PageJump_Wnd
lea eax, [esi + 0x84]
mov dword [ebp - 0x20], ecx
mov dword [esi + 0x1cb8], ecx
call fcn.005080c0
mov eax, dword [esi + 0x84]
mov ecx, eax
test eax, eax
jne 0x50fd64
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], eax
jle 0x50fd93
test ecx, ecx
je 0x50fd93
cmp word [ecx], ax
je 0x50fd93
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50fd80
mov eax, 0x54ee24
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 0
push str.Width
push ecx
call ebx
jmp 0x50fd99
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov dword [esi + 0x1cc4], eax
mov eax, dword [esi + 0x84]
mov ecx, eax
test eax, eax
jne 0x50fdb0
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], eax
jle 0x50fdd7
test ecx, ecx
je 0x50fdd7
cmp word [ecx], ax
je 0x50fdd7
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50fdcc
mov eax, 0x54ee24
push eax
push 0
push str.Height
push ecx
call ebx
mov ecx, dword [esi + 0x1cc4]
add dword [ebp - 0x20], ecx
mov dword [esi + 0x1cc0], eax
push str.PageJump_ListBox
lea eax, [esi + 0x84]
call fcn.005080c0
mov eax, dword [esi + 0x84]
test eax, eax
jne 0x50fe05
mov eax, 0x54ee24
cmp dword [esi + 0x7c], 0
mov dword [ebp + 0x10], 0
jle 0x50fe36
test eax, eax
je 0x50fe36
cmp word [eax], 0
je 0x50fe36
mov ecx, dword [esi + 0x78]
test ecx, ecx
jne 0x50fe28
mov ecx, 0x54ee24
push ecx
push 0
push str.Width
push eax
call ebx
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 0x84]
test ecx, ecx
jne 0x50fe45
mov ecx, 0x54ee24
xor ebx, ebx
cmp dword [esi + 0x7c], ebx
jle 0x50fe72
test ecx, ecx
je 0x50fe72
cmp word [ecx], bx
je 0x50fe72
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50fe61
mov eax, 0x54ee24
push eax
push 0
push str.PosiX
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
push str.TotalPage_Text
lea eax, [esi + 0x84]
call fcn.005080c0
mov eax, dword [esi + 0x84]
mov ecx, eax
test eax, eax
jne 0x50fe93
mov ecx, 0x54ee24
xor edi, edi
xor eax, eax
cmp dword [esi + 0x7c], edi
jle 0x50febf
cmp ecx, edi
je 0x50febf
cmp word [ecx], di
je 0x50febf
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x50feb1
mov eax, 0x54ee24
push eax
push edi
push str.PosiX
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
add eax, ebx
add eax, dword [ebp + 0x10]
add eax, dword [esi + 0x1cb8]
mov dword [ebp + 0x14], eax
mov eax, dword [esi + 0x84]
mov ecx, eax
cmp eax, edi
jne 0x50fede
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], edi
jle 0x50ff0c
cmp ecx, edi
je 0x50ff0c
cmp word [ecx], di
je 0x50ff0c
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x50fefa
mov eax, 0x54ee24
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push edi
push str.PosiY
push ecx
call ebx
jmp 0x50ff12
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [esi + 0x1cbc]
add ecx, eax
mov eax, dword [esi + 0x84]
mov dword [ebp - 0x24], ecx
cmp eax, edi
jne 0x50ff2c
mov eax, 0x54ee24
mov dword [ebp + 0x10], edi
cmp dword [esi + 0x7c], edi
jle 0x50ff56
cmp eax, edi
je 0x50ff56
cmp word [eax], di
je 0x50ff56
mov ecx, dword [esi + 0x78]
cmp ecx, edi
jne 0x50ff49
mov ecx, 0x54ee24
push ecx
push edi
push str.Width
push eax
call ebx
mov dword [ebp + 0x10], eax
mov ecx, dword [esi + 0x84]
cmp ecx, edi
jne 0x50ff65
mov ecx, 0x54ee24
mov dword [ebp + 0xc], edi
cmp dword [esi + 0x7c], edi
jle 0x50ff8f
cmp ecx, edi
je 0x50ff8f
cmp word [ecx], di
je 0x50ff8f
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x50ff82
mov eax, 0x54ee24
push eax
push edi
push str.Height
push ecx
call ebx
mov dword [ebp + 0xc], eax
push 0x2af8
lea edx, [ebp - 0x48]
push edx
mov ecx, 0x5776a0
call fcn.00471380
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
cmp eax, edi
jne 0x50ffb6
mov dword [ebp - 0x3c], 0x54ee24
mov ecx, dword [esi + 0x84]
cmp ecx, edi
jne 0x50ffc5
mov ecx, 0x54ee24
xor ebx, ebx
cmp dword [esi + 0x7c], edi
jle 0x50fff1
cmp ecx, edi
je 0x50fff1
cmp word [ecx], di
je 0x50fff1
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x50ffe1
mov eax, 0x54ee24
push eax
push edi
push str.FontPoint
push ecx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ebx, eax
push 0x57c18c
lea ecx, [ebp - 0x30]
call fcn.005072e0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call fcn.005072e0
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x54]
mov eax, edi
test edi, edi
jne 0x510020
mov eax, 0x54ee24
push 0
push eax
lea ecx, [ebp - 0x30]
push ecx
call fcn.005074a0
mov eax, dword [ebp - 0x30]
add esp, 0xc
test eax, eax
jne 0x51003b
mov eax, 0x54ee24
push eax
lea eax, [esi + 0x1c34]
call fcn.005080c0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0x14]
push 0
push 0
push ebx
mov ebx, dword [ebp + 8]
mov dword [esi + 0x1c20], eax
mov eax, dword [ebp - 0x3c]
mov dword [esi + 0x1c24], ecx
mov dword [esi + 0x1c1c], edx
mov edx, dword [ebp + 0xc]
push eax
lea ecx, [esi + 0x1c0c]
push ecx
mov dword [esi + 0x1c28], edx
mov dword [esi + 0x1c30], 0x14
mov dword [esi + 0x1c2c], 1
call fcn.00473690
xor ebx, ebx
mov byte [esi + 0x1c40], bl
mov byte [esi + 0x1c48], bl
mov byte [ebp - 4], 1
cmp edi, ebx
je 0x5100b6
push edi
call fcn.0051eadb
add esp, 4
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x30]
cmp eax, ebx
je 0x5100c9
push eax
call fcn.0051eadb
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x5100e0
push eax
call fcn.0051eadb
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
push edx
lea ebx, [esi + 0x1b74]
call fcn.0050e000
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x10