Function at 0x50f7c0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x539fc8
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, 0x554c58
call fcn.00470370
lea eax, [esi + 0x84]
push str.ToolBtn_BtnWnd
call fcn.005080c0
mov eax, dword [ebx + 0x10]
mov ecx, eax
test eax, eax
jne 0x50f813
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 0x50f846
test ecx, ecx
je 0x50f846
cmp word [ecx], ax
je 0x50f846
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f838
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 0x50f855
mov eax, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x1c], 0
jle 0x50f886
test eax, eax
je 0x50f886
cmp word [eax], 0
je 0x50f886
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x50f878
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 0x50f892
mov ecx, 0x54ee24
xor edi, edi
cmp dword [ebx + 8], edi
jle 0x50f8bf
test ecx, ecx
je 0x50f8bf
cmp word [ecx], di
je 0x50f8bf
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f8ae
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 0x50f8cb
mov ecx, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x10], 0
jle 0x50f900
test ecx, ecx
je 0x50f900
cmp word [ecx], 0
je 0x50f900
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f8ee
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 0x50f91e
mov ecx, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x14], 0
jle 0x50f953
test ecx, ecx
je 0x50f953
cmp word [ecx], 0
je 0x50f953
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f941
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 0x50f95f
mov ecx, 0x54ee24
cmp dword [ebx + 8], 0
mov dword [ebp - 0x18], 0
jle 0x50f994
test ecx, ecx
je 0x50f994
cmp word [ecx], 0
je 0x50f994
mov eax, dword [ebx + 4]
test eax, eax
jne 0x50f982
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 0x50f9a2
mov ecx, 0x54ee24
xor ebx, ebx
cmp dword [esi + 0x7c], ebx
jle 0x50f9cf
test ecx, ecx
je 0x50f9cf
cmp word [ecx], bx
je 0x50f9cf
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50f9be
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 0x50f9de
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], eax
jle 0x50fa09
test ecx, ecx
je 0x50fa09
cmp word [ecx], ax
je 0x50fa09
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50f9fa
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 0x50fb33
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 0x50fb3c
cmp byte [ebp + 0x10], 0
mov ecx, dword [ebp - 0x20]
je 0x50fb9b
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 0x50fd85
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 0x5101a0
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 0x50fe24
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], eax
jle 0x50fe53
test ecx, ecx
je 0x50fe53
cmp word [ecx], ax
je 0x50fe53
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50fe40
mov eax, 0x54ee24
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push 0
push str.Width
push ecx
call ebx
jmp 0x50fe59
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 0x50fe70
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], eax
jle 0x50fe97
test ecx, ecx
je 0x50fe97
cmp word [ecx], ax
je 0x50fe97
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50fe8c
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 0x50fec5
mov eax, 0x54ee24
cmp dword [esi + 0x7c], 0
mov dword [ebp + 0x10], 0
jle 0x50fef6
test eax, eax
je 0x50fef6
cmp word [eax], 0
je 0x50fef6
mov ecx, dword [esi + 0x78]
test ecx, ecx
jne 0x50fee8
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 0x50ff05
mov ecx, 0x54ee24
xor ebx, ebx
cmp dword [esi + 0x7c], ebx
jle 0x50ff32
test ecx, ecx
je 0x50ff32
cmp word [ecx], bx
je 0x50ff32
mov eax, dword [esi + 0x78]
test eax, eax
jne 0x50ff21
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 0x50ff53
mov ecx, 0x54ee24
xor edi, edi
xor eax, eax
cmp dword [esi + 0x7c], edi
jle 0x50ff7f
cmp ecx, edi
je 0x50ff7f
cmp word [ecx], di
je 0x50ff7f
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x50ff71
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 0x50ff9e
mov ecx, 0x54ee24
xor eax, eax
cmp dword [esi + 0x7c], edi
jle 0x50ffcc
cmp ecx, edi
je 0x50ffcc
cmp word [ecx], di
je 0x50ffcc
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x50ffba
mov eax, 0x54ee24
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push eax
push edi
push str.PosiY
push ecx
call ebx
jmp 0x50ffd2
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 0x50ffec
mov eax, 0x54ee24
mov dword [ebp + 0x10], edi
cmp dword [esi + 0x7c], edi
jle 0x510016
cmp eax, edi
je 0x510016
cmp word [eax], di
je 0x510016
mov ecx, dword [esi + 0x78]
cmp ecx, edi
jne 0x510009
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 0x510025
mov ecx, 0x54ee24
mov dword [ebp + 0xc], edi
cmp dword [esi + 0x7c], edi
jle 0x51004f
cmp ecx, edi
je 0x51004f
cmp word [ecx], di
je 0x51004f
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x510042
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.00471480
mov dword [ebp - 4], edi
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x3c], eax
cmp eax, edi
jne 0x510076
mov dword [ebp - 0x3c], 0x54ee24
mov ecx, dword [esi + 0x84]
cmp ecx, edi
jne 0x510085
mov ecx, 0x54ee24
xor ebx, ebx
cmp dword [esi + 0x7c], edi
jle 0x5100b1
cmp ecx, edi
je 0x5100b1
cmp word [ecx], di
je 0x5100b1
mov eax, dword [esi + 0x78]
cmp eax, edi
jne 0x5100a1
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.005072b0
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 1
call fcn.005072b0
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x54]
mov eax, edi
test edi, edi
jne 0x5100e0
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 0x5100fb
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.00473a60
xor ebx, ebx
mov byte [esi + 0x1c40], bl
mov byte [esi + 0x1c48], bl
mov byte [ebp - 4], 1
cmp edi, ebx
je 0x510176
push edi
call fcn.0051ebab
add esp, 4
mov byte [ebp - 4], bl
mov eax, dword [ebp - 0x30]
cmp eax, ebx
je 0x510189
push eax
call fcn.0051ebab
add esp, 4
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x48]
cmp eax, ebx
je 0x5101a0
push eax
call fcn.0051ebab
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0x20]
push edx
lea ebx, [esi + 0x1b74]
call fcn.0050e0c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0x10