Function at 0x409f09
Capabilities:
Read .ini file

Disassembly:
mov eax, 0x4bcdb0
call fcn.00483820
sub esp, 0x2ec
push ebx
xor ebx, ebx
cmp dword [0x4f14bc], ebx
push esi
mov esi, ecx
jne 0x40a8ae
push ebx
lea ecx, [ebp - 0x1cc]
call fcn.004512ed
mov eax, dword [esi + 0x272]
lea ecx, [esi + 0x1ac]
push 0x4f1070
mov dword [ebp - 4], ebx
mov dword [ebp - 0x34], eax
call fcn.0049b93c
cmp dword [ebp + 8], ebx
je 0x409f46
push 0x611
jmp 0x409f48
push 0x76
lea ecx, [ebp - 0x1cc]
call fcn.0045151e
mov eax, dword [esi + 0x24a]
mov dword [ebp - 0x7c], eax
xor eax, eax
cmp dword [esi + 0x272], ebx
sete al
mov dword [ebp - 0x68], eax
mov eax, dword [esi + 0x246]
mov dword [ebp - 0x80], eax
mov eax, dword [esi + 0x24e]
cmp dword [ebp + 8], ebx
mov dword [ebp - 0x70], eax
mov eax, dword [esi + 0x252]
mov dword [ebp - 0x64], eax
mov eax, dword [esi + 0x27a]
mov dword [ebp - 0x5c], eax
je 0x409f96
mov dword [ebp - 0x5c], ebx
mov ecx, dword [esi + 0x1c]
push ebx
mov dword [esi + 0x26a], ebx
mov dword [esi + 0x26e], ebx
mov dword [ebp - 0x10], ebx
call fcn.004afeab
test eax, eax
je 0x40a03d
mov ecx, dword [esi + 0x1c]
push ebx
call fcn.004afeab
mov ecx, eax
call fcn.004aeae9
mov eax, dword [eax + 0x1c]
cmp eax, ebx
mov dword [ebp - 0x10], eax
je 0x40a03d
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x10]
call fcn.0042412e
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x24]
mov edx, eax
sub edx, ecx
cmp edx, 0x3e9
jle 0x409ff7
mov eax, ecx
mov dword [ebp - 0x14], eax
mov edx, dword [0x4eec8c]
mov dword [ebp - 0x1c], edx
cmp ecx, eax
mov byte [ebp - 4], 1
je 0x40a032
sub eax, ecx
lea ecx, [ebp - 0x1c]
push eax
call fcn.0049bbe3
push eax
push dword [ebp - 0x10]
call fcn.00423d87
push 0xffffffffffffffff
lea ecx, [ebp - 0x1c]
call fcn.0049bc32
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x78]
push eax
call fcn.0049b8ec
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], bl
call fcn.0049b7ff
lea ecx, [ebp - 0x1cc]
call fcn.00497510
push 1
pop ecx
cmp eax, ecx
jne 0x40a89f
xor eax, eax
cmp dword [ebp - 0x68], ebx
mov dword [0x4f14bc], ecx
sete al
cmp dword [ebp + 8], ebx
mov dword [esi + 0x272], eax
jne 0x40a091
cmp eax, ebx
jne 0x40a091
mov eax, dword [esi + 0x1c]
cmp dword [eax + 0xd0], ebx
jne 0x40a091
mov dword [eax + 0xe4], ecx
mov ecx, esi
call fcn.0040dc5c
mov eax, dword [esi + 0x1c]
mov dword [eax + 0xe4], ebx
push edi
lea edi, [esi + 0x23e]
lea eax, [ebp - 0x78]
mov ecx, edi
push eax
call fcn.0049b8ec
cmp dword [ebp - 0x70], ebx
je 0x40a0b0
cmp dword [0x4ea828], ebx
jne 0x40a0bb
push edi
push dword [ebp - 0x10]
call fcn.0044e639
pop ecx
pop ecx
push dword [edi]
call fcn.00483b20
mov dword [esi + 0x256], eax
pop ecx
lea edi, [esi + 0x242]
lea eax, [ebp - 0x6c]
push eax
mov ecx, edi
call fcn.0049b8ec
push edi
push dword [ebp - 0x10]
call fcn.0044e639
push dword [edi]
call fcn.00483b20
add esp, 0xc
mov dword [esi + 0x25a], eax
lea eax, [ebp - 0x74]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.0049b9e2
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x80]
cmp dword [ebp + 8], ebx
mov dword [esi + 0x24e], ecx
mov ecx, dword [ebp - 0x64]
mov dword [esi + 0x246], eax
mov eax, dword [ebp - 0x7c]
mov dword [esi + 0x252], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [esi + 0x24a], eax
mov dword [esi + 0x27a], ecx
mov byte [ebp - 4], 2
mov dword [0x4f14c4], eax
je 0x40a145
mov dword [esi + 0x272], ebx
cmp dword [esi + 0x272], ebx
je 0x40a157
mov ecx, dword [esi + 0x1c]
push 1
call fcn.0046adc7
cmp dword [esi + 0x24e], ebx
je 0x40a186
mov eax, dword [esi + 0x23e]
push ebx
push ebx
push dword [esi + 0x246]
push eax
call fcn.0042554f
add esp, 0x10
cmp dword [ebp + 8], ebx
je 0x40a18b
mov edi, dword [edi]
push ebx
push edi
call fcn.0042703b
pop ecx
pop ecx
cmp dword [ebp + 8], ebx
jne 0x40a1e1
mov eax, dword [esi + 0x272]
cmp eax, ebx
jne 0x40a1e1
mov ecx, dword [esi + 0x1c]
cmp dword [ecx + 0xd0], ebx
je 0x40a882
cmp eax, ebx
jne 0x40a1e1
mov eax, ecx
mov ecx, dword [eax + 0xd0]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov dword [ebp - 0x24], eax
mov eax, dword [esi + 0x1c]
mov ecx, dword [eax + 0xd0]
mov eax, dword [ecx]
call dword [eax + 0x60]
mov dword [ebp - 0x14], eax
mov eax, dword [esi + 0x1c]
lea edx, [ebp - 0x14]
mov ecx, dword [eax + 0xd0]
push edx
mov eax, dword [ecx]
call dword [eax + 0x64]
mov dword [esi + 0x282], eax
push 0x5c
mov dword [esi + 0x25e], ebx
mov dword [esi + 0x262], ebx
call fcn.0049bdea
mov edi, eax
pop ecx
mov dword [ebp - 0x2c], edi
cmp edi, ebx
mov byte [ebp - 4], 3
je 0x40a213
mov ecx, edi
call fcn.004970cf
mov dword [edi], method.CDialog.virtual_0
mov ecx, edi
jmp 0x40a215
xor ecx, ecx
push dword [esi + 0x1c]
mov byte [ebp - 4], 2
mov dword [esi + 0x23a], ecx
push 0x72
call fcn.0049714b
cmp dword [ebp + 8], ebx
jne 0x40a52b
mov eax, dword [esi + 0x27a]
cmp eax, ebx
je 0x40a52b
cmp eax, 1
jne 0x40a354
mov eax, dword [0x4eec8c]
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 8
mov dword [ebp - 0x10], ebx
call fcn.004b563d
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x10]
push ebx
push ecx
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.00410634
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
cmp ecx, ebx
je 0x40a2d1
mov eax, dword [esi + 0x1c]
cmp ecx, dword [eax + 0xd0]
je 0x40a2d1
call fcn.00429d81
push eax
lea ecx, [esi + 0x1ac]
call fcn.0049b8ec
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x18]
add eax, 0x50
push eax
call fcn.0049b8ec
mov edi, 0x4f1070
push edi
push dword [ebp - 0x18]
call fcn.0048383f
pop ecx
test eax, eax
pop ecx
je 0x40a2d6
mov ecx, dword [ebp - 0x10]
push ebx
push ebx
call fcn.0042ab3f
push ebx
mov ecx, esi
push dword [ebp - 0x18]
push edi
call fcn.0040a95f
jmp 0x40a2d6
mov edi, 0x4f1070
cmp dword [ebp - 0x14], ebx
je 0x40a348
push edi
lea ecx, [ebp - 0x18]
call fcn.0049b93c
call fcn.004b563d
push dword [ebp - 0x14]
mov eax, dword [eax + 4]
lea ecx, [ebp - 0x10]
push ecx
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.00410634
mov ecx, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
call fcn.00429d81
push eax
lea ecx, [esi + 0x1ac]
call fcn.0049b8ec
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x18]
add eax, 0x50
push eax
call fcn.0049b8ec
push edi
push dword [ebp - 0x18]
call fcn.0048383f
pop ecx
test eax, eax
pop ecx
je 0x40a2d6
mov eax, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x10]
cmp ecx, dword [eax + 0xd0]
je 0x40a2d6
push ebx
push ebx
jmp 0x40a2be
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18]
jmp 0x40a5f4
mov eax, dword [esi + 0x1a8]
mov edi, 0x4f1070
push edi
push eax
call fcn.0048383f
pop ecx
test eax, eax
pop ecx
je 0x40a5f9
mov eax, dword [0x4eec8c]
mov byte [ebp - 0x57], bl
mov byte [ebp - 0x56], bl
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x18], eax
push dword [esi + 0x1a8]
lea eax, [ebp - 0x2f8]
mov byte [ebp - 4], 0xa
push 0x105
push eax
push edi
mov edi, 0x4ea018
push 0x4ea02c
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x2f8]
lea ecx, [ebp - 0x10]
push eax
call fcn.0049b93c
push dword [esi + 0x1a8]
push ebx
push 0x4ea040
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
push dword [esi + 0x1a8]
mov dword [ebp - 0x28], eax
push ebx
push 0x4ea058
push edi
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, ebx
je 0x40a439
lea eax, [esi + 0x1a8]
lea ecx, [ebp - 0x10]
push eax
call fcn.0049b8ec
push 0x5c
lea ecx, [ebp - 0x10]
call fcn.004938c0
cmp eax, 0xffffffff
jne 0x40a412
push 0x3a
lea ecx, [ebp - 0x10]
call fcn.004938c0
cmp eax, 0xffffffff
je 0x40a439
inc eax
lea ecx, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00493848
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xb
call fcn.0049b8ec
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xa
call fcn.0049b7ff
mov dword [ebp - 0x14], ebx
lea eax, [ebp - 0x58]
push 0xa
push eax
push dword [ebp - 0x14]
call fcn.0048501a
add esp, 0xc
lea eax, [ebp - 0x2f8]
push dword [esi + 0x1a8]
mov edi, 0x4f1070
push 0x105
push eax
lea eax, [ebp - 0x58]
push edi
push eax
push 0x4ea010
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
cmp byte [ebp - 0x2f8], bl
je 0x40a513
lea eax, [ebp - 0x2f8]
lea ecx, [ebp - 0x18]
push eax
call fcn.0049b93c
push 0x4ea548
lea ecx, [ebp - 0x18]
call fcn.004938e2
cmp eax, 0xffffffff
jne 0x40a4f3
push 0x4ea5a4
lea ecx, [ebp - 0x18]
call fcn.004938e2
cmp eax, 0xffffffff
jne 0x40a4f3
cmp dword [ebp - 0x28], ebx
je 0x40a4f3
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0049b9e2
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xc
call fcn.0049b8ec
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xa
call fcn.0049b7ff
push dword [ebp - 0x18]
lea eax, [ebp - 0x2f8]
push eax
call fcn.004838f0
pop ecx
pop ecx
lea eax, [ebp - 0x2f8]
push ebx
push eax
push edi
mov ecx, esi
call fcn.0040a95f
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 0x7d0
jle 0x40a43c
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 9
call fcn.0049b7ff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
jmp 0x40a5f4
mov eax, dword [0x4eec8c]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
push dword [ebp - 0x1c]
mov byte [ebp - 4], 5
call fcn.00483b20
lea edi, [eax - 1]
pop ecx
cmp edi, ebx
jl 0x40a55a
mov ecx, dword [ebp - 0x1c]
cmp byte [edi + ecx], 0x5c
je 0x40a556
dec edi
jns 0x40a54a
cmp edi, ebx
je 0x40a55b
inc edi
sub eax, edi
lea ecx, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.004937cc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.0049b8ec
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.0049b7ff
cmp edi, ebx
je 0x40a59f
mov eax, dword [ebp - 0x1c]
cmp byte [edi + eax - 1], 0x5c
je 0x40a59f
mov eax, edi
push 0x5c
push eax
lea ecx, [ebp - 0x1c]
inc edi
call fcn.0049bcf9
lea eax, [ebp - 0x20]
push edi
push eax
lea ecx, [ebp - 0x1c]
call fcn.00493848
push eax
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.0049b8ec
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 5
call fcn.0049b7ff
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10]
push eax
call fcn.0049b8ec
push dword [ebp + 8]
mov ecx, esi
push dword [ebp - 0x14]
push dword [ebp - 0x10]
call fcn.0040a95f
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.0049b7ff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x10]
call fcn.0049b7ff
mov ecx, dword [esi + 0x23a]
mov eax, dword [ecx]
call dword [eax + 0x58]
mov ecx, dword [esi + 0x23a]
cmp ecx, ebx
je 0x40a615
mov eax, dword [ecx]
push 3
call dword [eax + 4]
cmp dword [ebp + 8], ebx
mov eax, dword [0x4eec8c]
je 0x40a72b
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
push 0x30
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0xf
call fcn.0049be1e
push 0x32
lea ecx, [ebp - 0x10]
call fcn.0049be1e
push 0x33
lea ecx, [ebp - 0x14]
call fcn.0049be1e
lea eax, [ebp - 0x58]
push 0xa
push eax
push dword [esi + 0x26e]
call fcn.004850a3
add esp, 0xc
lea ecx, [ebp - 0x2c]
push eax
call fcn.0049b86d
mov edi, eax
lea eax, [ebp - 0x58]
push 0xa
push eax
mov byte [ebp - 4], 0x10
push dword [esi + 0x26a]
call fcn.004850a3
add esp, 0xc
lea ecx, [ebp - 0x30]
push eax
call fcn.0049b86d
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x11
push ecx
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.0049b9e2
push edi
push eax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x12
push eax
call fcn.0049b9e2
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x13
push ecx
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0049b9e2
mov eax, dword [eax]
push ebx
push dword [ebp - 0x18]
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [ebp - 0x20]
call fcn.0049b7ff
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x12
call fcn.0049b7ff
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x11
call fcn.0049b7ff
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x10
call fcn.0049b7ff
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.0049b7ff
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x14]
call fcn.0049b7ff
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xd
call fcn.0049b7ff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x18]
jmp 0x40a862
mov dword [ebp - 0x14], eax
push 0x2d
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x14
call fcn.0049be1e
mov eax, dword [0x4eec8c]
mov dword [ebp - 0x10], eax
push 0x31
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x15
call fcn.0049be1e
lea eax, [ebp - 0x1f0]
push 0xa
push eax
push dword [esi + 0x25e]
call fcn.004850a3
add esp, 0xc
lea ecx, [ebp - 0x28]
push eax
call fcn.0049b86d
mov edi, eax
lea eax, [esi + 0x23e]
push 0x4ea5a0
push eax
lea eax, [ebp - 0x20]
push eax
mov byte [ebp - 4], 0x16
call fcn.0049ba48
push edi
push eax
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0x17
push eax
call fcn.0049b9e2
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x18
push ecx
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.0049b9e2
push eax
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x19
call fcn.0049bbcb
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
call fcn.0049b7ff
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x17
call fcn.0049b7ff
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x16
call fcn.0049b7ff
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x15
call fcn.0049b7ff
cmp dword [esi + 0x272], ebx
push ebx
push 0xffffffffffffffff
push 1
push dword [ebp - 0x10]
mov ecx, esi
je 0x40a804
call fcn.004106b7
jmp 0x40a84f
call fcn.004106b7
mov eax, dword [esi + 0x282]
push 1
push ebx
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_InvalidateRect]
mov ecx, dword [esi + 0x282]
call fcn.004347a4
mov eax, dword [esi + 0x1c]
push dword [ebp - 0x24]
mov ecx, dword [eax + 0xd0]
mov eax, dword [ecx]
call dword [eax + 0x5c]
mov eax, dword [esi + 0x282]
push ebx
push dword [ebp - 0x24]
push 0xb9
push dword [eax + 0x1c]
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0x14
call fcn.0049b7ff
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x14]
call fcn.0049b7ff
cmp dword [esi + 0x24e], ebx
je 0x40a874
call fcn.00426512
cmp dword [ebp + 8], ebx
je 0x40a882
mov eax, dword [ebp - 0x34]
mov dword [esi + 0x272], eax
mov eax, dword [0x4f14c4]
lea ecx, [ebp - 0x1c]
mov dword [esi + 0x24a], eax
mov dword [0x4f14bc], ebx
mov byte [ebp - 4], bl
call fcn.0049b7ff
pop edi
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1cc]
call fcn.0040a8be
mov ecx, dword [ebp - 0xc]
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret 4