Function at 0x502780
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x52e0f0
mov eax, dword fs:[0]
push eax
sub esp, 0x3c
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.0x5027bf.2
movzx eax, byte [eax + 0x502edc]
jmp dword [eax*4 + 0x502ed4]
mov byte [ebp - 0x10], 1
jmp 0x5027d0
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 + 0x33c]
push edx
mov ecx, 0x40
mov dword [ebp - 0x28], eax
call fcn.005069b0
lea esi, [edi + 0x31c]
push esi
mov ecx, 0x53b7a8
mov dword [ebp - 0x30], esi
call fcn.00466b30
lea eax, [edi + 0x32c]
push str.PrntSettingPage_ThmbPrevBtn
mov dword [ebp - 0x2c], eax
call fcn.004fcf00
mov eax, dword [esi + 0x10]
xor edi, edi
cmp eax, edi
jne 0x502826
mov eax, 0x538640
mov dword [ebp - 0x10], edi
cmp dword [esi + 8], edi
jle 0x502858
cmp eax, edi
je 0x502858
cmp word [eax], di
je 0x502858
mov ecx, dword [esi + 4]
cmp ecx, edi
jne 0x502843
mov ecx, 0x538640
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ecx
push edi
push str.Width
push eax
call ebx
mov dword [ebp - 0x10], eax
jmp 0x50285e
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [esi + 0x10]
cmp ecx, edi
jne 0x50286a
mov ecx, 0x538640
mov dword [ebp - 0x1c], edi
cmp dword [esi + 8], edi
jle 0x502894
cmp ecx, edi
je 0x502894
cmp word [ecx], di
je 0x502894
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x502887
mov eax, 0x538640
push eax
push edi
push str.Height
push ecx
call ebx
mov dword [ebp - 0x1c], eax
mov ecx, dword [esi + 0x10]
cmp ecx, edi
jne 0x5028a0
mov ecx, 0x538640
mov dword [ebp - 0x20], edi
cmp dword [esi + 8], edi
jle 0x5028ca
cmp ecx, edi
je 0x5028ca
cmp word [ecx], di
je 0x5028ca
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x5028bd
mov eax, 0x538640
push eax
push edi
push str.PosiY
push ecx
call ebx
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x10]
cmp ecx, edi
jne 0x5028d6
mov ecx, 0x538640
mov dword [ebp - 0x24], edi
cmp dword [esi + 8], edi
jle 0x502900
cmp ecx, edi
je 0x502900
cmp word [ecx], di
je 0x502900
mov eax, dword [esi + 4]
cmp eax, edi
jne 0x5028f3
mov eax, 0x538640
push eax
push edi
push str.LMargin
push ecx
call ebx
mov dword [ebp - 0x24], eax
mov ecx, dword [esi + 0x10]
cmp ecx, edi
jne 0x50290c
mov ecx, 0x538640
cmp dword [esi + 8], edi
jle 0x502932
cmp ecx, edi
je 0x502932
cmp word [ecx], di
je 0x502932
mov esi, dword [esi + 4]
mov eax, esi
cmp esi, edi
jne 0x502928
mov eax, 0x538640
push eax
push edi
push str.RMargin
push ecx
call ebx
mov eax, dword [0x55a3f8]
mov dword [ebp - 0x18], edi
cmp eax, edi
mov edi, dword [sym.imp.USER32.dll_LoadImageW]
je 0x502972
push 0x80
push 0
push 0
push 0
push 0xc8c9
push eax
call edi
mov esi, eax
test esi, esi
jne 0x502968
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp - 0x18], esi
jmp 0x50297c
mov dword [0x55a3ec], 0x57
mov dword [ebp - 0x14], 0
test eax, eax
je 0x5029b5
push 0x80
push 0
push 0
push 0
push 0xc8ca
push eax
call edi
mov esi, eax
test esi, esi
jne 0x5029ab
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp - 0x14], esi
jmp 0x5029bf
mov dword [0x55a3ec], 0x57
xor ebx, ebx
test eax, eax
je 0x5029ef
push 0x80
push ebx
push ebx
push ebx
push 0xc8cb
push eax
call edi
mov esi, eax
test esi, esi
jne 0x5029e6
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov ebx, esi
jmp 0x5029f9
mov dword [0x55a3ec], 0x57
xor ecx, ecx
test eax, eax
je 0x502a24
push 0x80
push ecx
push ecx
push ecx
push 0xc8cc
push eax
call edi
mov esi, eax
test esi, esi
jne 0x502a20
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov ecx, esi
jmp 0x502a2e
mov dword [0x55a3ec], 0x57
mov esi, dword [ebp + 8]
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x14]
mov edi, dword [ebp - 0x10]
mov dword [esi + 0x538], eax
xor eax, eax
mov dword [esi + 0x58c], eax
mov dword [esi + 0x590], eax
mov dword [esi + 0x59c], eax
mov dword [esi + 0x5a0], eax
mov dword [esi + 0x540], ebx
mov ebx, dword [ebp - 0x1c]
push 0x5211
lea eax, [ebp - 0x3c]
mov dword [esi + 0x544], ecx
push eax
mov ecx, 0x55a400
mov dword [esi + 0x53c], edx
mov byte [esi + 0x529], 1
mov dword [esi + 0x594], edi
mov dword [esi + 0x598], ebx
mov dword [esi + 0x5a4], edi
mov dword [esi + 0x5a8], ebx
call fcn.00467b90
xor ecx, ecx
mov dword [ebp - 4], ecx
mov eax, dword [ebp - 0x3c]
mov edx, esi
mov dword [edx + 0x524], ecx
cmp eax, ecx
jne 0x502aba
mov eax, 0x538640
mov edx, dword [ebp - 0x20]
push ebx
mov ebx, dword [ebp + 0x10]
push edi
push edx
mov edx, dword [ebp - 0x24]
push edx
push ecx
push eax
mov eax, dword [ebp + 0xc]
push 0x17f9
push eax
mov eax, 0x10000000
lea ecx, [esi + 0x364]
call fcn.00433520
mov esi, eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x394]
test ecx, ecx
je 0x502afc
push 0
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x502b10
mov ecx, dword [eax + 0x390]
mov ecx, dword [ecx + 4]
mov dword [ecx + eax + 0x390], 6
mov edi, dword [ebp - 0x3c]
test edi, edi
jne 0x502b1c
mov edi, 0x538640
mov ecx, dword [ebp - 0x28]
call fcn.00506a20
mov eax, dword [ebp - 0x2c]
push str.PrntSettingPage_ThmbNextBtn
call fcn.004fcf00
mov esi, dword [ebp - 0x30]
mov eax, dword [esi + 0x10]
xor ebx, ebx
cmp eax, ebx
jne 0x502b42
mov eax, 0x538640
mov dword [ebp - 0x10], ebx
cmp dword [esi + 8], ebx
jle 0x502b74
cmp eax, ebx
je 0x502b74
cmp word [eax], bx
je 0x502b74
mov ecx, dword [esi + 4]
cmp ecx, ebx
jne 0x502b5f
mov ecx, 0x538640
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
push ecx
push ebx
push str.Width
push eax
call edi
mov dword [ebp - 0x10], eax
jmp 0x502b7a
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
mov ecx, dword [esi + 0x10]
cmp ecx, ebx
jne 0x502b86
mov ecx, 0x538640
mov dword [ebp - 0x14], ebx
cmp dword [esi + 8], ebx
jle 0x502bb0
cmp ecx, ebx
je 0x502bb0
cmp word [ecx], bx
je 0x502bb0
mov eax, dword [esi + 4]
cmp eax, ebx
jne 0x502ba3
mov eax, 0x538640
push eax
push ebx
push str.Height
push ecx
call edi
mov dword [ebp - 0x14], eax
mov ecx, dword [esi + 0x10]
cmp ecx, ebx
jne 0x502bbc
mov ecx, 0x538640
mov dword [ebp - 0x24], ebx
cmp dword [esi + 8], ebx
jle 0x502be9
test ecx, ecx
je 0x502be9
cmp word [ecx], bx
je 0x502be9
mov eax, dword [esi + 4]
test eax, eax
jne 0x502bd9
mov eax, 0x538640
push eax
push 0
push str.PosiY
push ecx
call edi
mov ebx, eax
mov dword [ebp - 0x24], eax
mov ecx, dword [esi + 0x10]
test ecx, ecx
jne 0x502bf5
mov ecx, 0x538640
cmp dword [esi + 8], 0
mov dword [ebp - 0x20], 0
jle 0x502c26
test ecx, ecx
je 0x502c26
cmp word [ecx], 0
je 0x502c26
mov eax, dword [esi + 4]
test eax, eax
jne 0x502c18
mov eax, 0x538640
push eax
push 0
push str.LMargin
push ecx
call edi
mov dword [ebp - 0x20], eax
mov ecx, dword [esi + 0x10]
test ecx, ecx
jne 0x502c32
mov ecx, 0x538640
cmp dword [esi + 8], 0
mov dword [ebp - 0x18], 0
jle 0x502c63
test ecx, ecx
je 0x502c63
cmp word [ecx], 0
je 0x502c63
mov eax, dword [esi + 4]
test eax, eax
jne 0x502c55
mov eax, 0x538640
push eax
push 0
push str.RMargin
push ecx
call edi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x10]
mov edi, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov esi, dword [sym.imp.USER32.dll_LoadImageW]
sub ecx, eax
mov dword [edi + 0x8e0], ebx
mov dword [edi + 0x8dc], eax
mov eax, dword [0x55a3f8]
mov dword [ebp - 0x30], ecx
mov dword [ebp + 8], 0
test eax, eax
je 0x502cc4
push 0x80
push 0
push 0
push 0
push 0xc8cd
push eax
call esi
mov ebx, eax
test ebx, ebx
jne 0x502cba
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp + 8], ebx
jmp 0x502cce
mov dword [0x55a3ec], 0x57
mov dword [ebp + 0x14], 0
test eax, eax
je 0x502d07
push 0x80
push 0
push 0
push 0
push 0xc8ce
push eax
call esi
mov ebx, eax
test ebx, ebx
jne 0x502cfd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
mov dword [ebp + 0x14], ebx
jmp 0x502d11
mov dword [0x55a3ec], 0x57
xor ebx, ebx
test eax, eax
je 0x502d3f
push 0x80
push ebx
push ebx
push ebx
push 0xc8cf
push eax
call esi
mov ebx, eax
test ebx, ebx
jne 0x502d38
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov eax, dword [0x55a3f8]
jmp 0x502d49
mov dword [0x55a3ec], 0x57
xor ecx, ecx
test eax, eax
je 0x502d74
push 0x80
push ecx
push ecx
push ecx
push 0xc8d0
push eax
call esi
mov esi, eax
test esi, esi
jne 0x502d70
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x55a3ec], eax
mov ecx, esi
jmp 0x502d7e
mov dword [0x55a3ec], 0x57
mov edx, dword [ebp + 8]
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x7f0], ecx
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0x840], ecx
mov dword [edi + 0x850], ecx
push 0x5210
lea ecx, [ebp - 0x48]
mov dword [edi + 0x7e4], edx
xor edx, edx
mov dword [edi + 0x7e8], eax
mov eax, dword [ebp - 0x14]
mov dword [edi + 0x7ec], ebx
push ecx
mov bl, 1
mov ecx, 0x55a400
mov byte [edi + 0x7d5], bl
mov dword [edi + 0x838], edx
mov dword [edi + 0x83c], edx
mov dword [edi + 0x844], eax
mov dword [edi + 0x848], edx
mov dword [edi + 0x84c], edx
mov dword [edi + 0x854], eax
call fcn.00467b90
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], bl
call fcn.004fce50
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x502e1b
push eax
call fcn.005134a7
add esp, 4
xor ecx, ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], ecx
jmp 0x502e1d
xor ecx, ecx
mov eax, dword [ebp - 0x3c]
mov dword [edi + 0x7d0], ecx
cmp eax, ecx
jne 0x502e2f
mov eax, 0x538640
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x30]
push edx
mov edx, dword [ebp + 0xc]
push ecx
push 0
push eax
push 0x17fa
push edx
mov eax, 0x10000000
lea ecx, [edi + 0x610]
call fcn.00433520
mov ecx, dword [edi + 0x640]
mov esi, eax
test ecx, ecx
je 0x502e75
push 0
push ecx
call dword [sym.imp.USER32.dll_EnableWindow]
jmp 0x502e89
mov ecx, dword [edi + 0x63c]
mov ecx, dword [ecx + 4]
mov dword [ecx + edi + 0x63c], 6
mov edi, dword [ebp - 0x3c]
test edi, edi
jne 0x502e95
mov edi, 0x538640
mov ecx, dword [ebp - 0x28]
call fcn.00506a20
mov esi, dword [ebp - 0x18]
add esi, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x3c]
add esi, dword [ebp - 0x10]
test eax, eax
je 0x502ebd
push eax
call fcn.005134a7
add esp, 4
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10