Function at 0x404e60
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x60c044]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
lea eax, [ebp - 0x20c]
mov edi, ecx
push 0
push eax
call fcn.0042cfe0
mov eax, dword [edi + 0x1c]
add esp, 0xc
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x404f92
nop dword [eax]
mov ebx, dword [esi + 0x14]
lea edx, [ebx + 0xc]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x210], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404eb1
sub ecx, dword [ebp - 0x210]
sar ecx, 1
test ecx, ecx
jle 0x404f43
cmp dword [edi + 0x8c], 8
lea eax, [edi + 0x78]
jb 0x404ed6
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x5ff6c0
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x5ff6c0
lea eax, [ebp - 0x20c]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404f26
test dx, dx
je 0x404f22
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404f26
add eax, 4
add ecx, 4
test dx, dx
jne 0x404f00
xor eax, eax
jmp 0x404f2b
sbb eax, eax
or eax, 1
test eax, eax
je 0x404f43
lea eax, [ebp - 0x20c]
push eax
call fcn.00438433
mov ecx, dword [ebx + 8]
add esp, 4
mov dword [ecx], eax
cmp byte [esi + 0xd], 0
jne 0x404f87
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x404f6c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x404f87
nop dword [eax]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x404f60
jmp 0x404f87
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x404f85
cmp esi, dword [eax + 8]
jne 0x404f85
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x404f75
mov esi, eax
mov eax, dword [edi + 0x1c]
cmp esi, dword [eax]
jne 0x404ea0
mov eax, dword [edi + 0x18]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x405092
mov ebx, dword [esi + 0x14]
lea edx, [ebx + 0xc]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x210], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x404fb2
sub ecx, dword [ebp - 0x210]
sar ecx, 1
test ecx, ecx
jle 0x405047
cmp dword [edi + 0x8c], 8
lea eax, [edi + 0x78]
jb 0x404fdb
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x5ff6c0
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x5ff6c0
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40502a
test dx, dx
je 0x405026
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40502a
add eax, 4
add ecx, 4
test dx, dx
jne 0x405004
xor eax, eax
jmp 0x40502f
sbb eax, eax
or eax, 1
test eax, eax
je 0x405047
lea eax, [ebp - 0x20c]
push eax
call fcn.00438433
mov ecx, dword [ebx + 8]
add esp, 4
mov byte [ecx], al
cmp byte [esi + 0xd], 0
jne 0x405087
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x40506c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x405087
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x405060
jmp 0x405087
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x405085
cmp esi, dword [eax + 8]
jne 0x405085
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x405075
mov esi, eax
mov eax, dword [edi + 0x18]
cmp esi, dword [eax]
jne 0x404fa1
mov eax, dword [edi + 0x20]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x4051a2
mov ebx, dword [esi + 0x14]
lea edx, [ebx + 0xc]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x210], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4050b2
sub ecx, dword [ebp - 0x210]
sar ecx, 1
test ecx, ecx
jle 0x405151
cmp dword [edi + 0x8c], 8
lea eax, [edi + 0x78]
jb 0x4050db
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push str.nothing
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, str.nothing
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x40512a
test dx, dx
je 0x405126
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x40512a
add eax, 4
add ecx, 4
test dx, dx
jne 0x405104
xor eax, eax
jmp 0x40512f
sbb eax, eax
or eax, 1
test eax, eax
je 0x405151
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0x20c]
nop dword [eax]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x405140
cmp byte [esi + 0xd], 0
jne 0x405197
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x40517c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x405197
nop word [eax + eax]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x405170
jmp 0x405197
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x405195
cmp esi, dword [eax + 8]
jne 0x405195
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x405185
mov esi, eax
mov eax, dword [edi + 0x20]
cmp esi, dword [eax]
jne 0x4050a1
mov ecx, edi
call fcn.00407f60
cmp dword [edi + 0xa4], 8
lea eax, [edi + 0x90]
jb 0x4051ba
mov eax, dword [eax]
push eax
push 0x5ff2a4
push str.ModifySetConfig
push str.SetModify
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
mov eax, dword [edi + 0x58]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x405249
nop
push dword [esi + 0x10]
mov ecx, edi
call fcn.00407750
test eax, eax
je 0x4051fb
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 8]
mov eax, dword [edx]
mov dword [ecx], eax
cmp byte [esi + 0xd], 0
jne 0x405242
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x405220
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x405242
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x405214
jmp 0x405242
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x405240
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x405240
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x405230
mov esi, eax
mov eax, dword [edi + 0x58]
cmp esi, dword [eax]
jne 0x4051e0
mov eax, dword [edi + 0x54]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x4052c9
nop dword [eax + eax]
push dword [esi + 0x10]
mov ecx, edi
call fcn.00407750
test eax, eax
je 0x40527b
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x14]
mov ecx, dword [eax + 8]
mov al, byte [edx]
mov byte [ecx], al
cmp byte [esi + 0xd], 0
jne 0x4052c2
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x4052a0
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x4052c2
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x405294
jmp 0x4052c2
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4052c0
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x4052c0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x4052b0
mov esi, eax
mov eax, dword [edi + 0x54]
cmp esi, dword [eax]
jne 0x405260
call fcn.00429f9b
push 0
push 0x85
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.0042a0d1
push esi
push 0xe
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00429f9b
push 0
push 0x84
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.0042a0d1
push esi
push 0xd
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00429f9b
push 0
push 0x82
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.0042a0d1
push esi
push 0xb
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00429f9b
push 0
push 0x83
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.0042a0d1
push esi
push 0xc
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00429f9b
push 0
push 0x80
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.0042a0d1
push esi
push 9
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00429f9b
push 0
push 0x81
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.0042a0d1
push esi
push 0xa
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
pop edi
mov eax, 1
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
pop ebx
call fcn.0041b461
mov esp, ebp
pop ebp
ret