Function at 0x402dc0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x5c100c]
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.00429bd0
mov eax, dword [edi + 0x1c]
add esp, 0xc
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x402efd
nop dword [eax]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x210], eax
lea edx, [eax + 0xc]
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402e11
sub ecx, ebx
sar ecx, 1
test ecx, ecx
jle 0x402eab
cmp dword [edi + 0xa4], 8
lea eax, [edi + 0x90]
jb 0x402e39
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x5b2e28
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x5b2e28
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x402e88
test dx, dx
je 0x402e84
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x402e88
add eax, 4
add ecx, 4
test dx, dx
jne 0x402e62
xor eax, eax
jmp 0x402e8d
sbb eax, eax
or eax, 1
test eax, eax
je 0x402eab
lea eax, [ebp - 0x20c]
push eax
call fcn.0042d5b4
mov ecx, dword [ebp - 0x210]
add esp, 4
mov ecx, dword [ecx + 8]
mov dword [ecx], eax
cmp byte [esi + 0xd], 0
jne 0x402ef2
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x402ed0
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x402ef2
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x402ec4
jmp 0x402ef2
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x402ef0
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x402ef0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x402ee0
mov esi, eax
mov eax, dword [edi + 0x1c]
cmp esi, dword [eax]
jne 0x402e00
mov eax, dword [edi + 0x18]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x40300d
nop dword [eax]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x210], eax
lea edx, [eax + 0xc]
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x402f21
sub ecx, ebx
sar ecx, 1
test ecx, ecx
jle 0x402fbb
cmp dword [edi + 0xa4], 8
lea eax, [edi + 0x90]
jb 0x402f49
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x5b2e28
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x5b2e28
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x402f98
test dx, dx
je 0x402f94
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x402f98
add eax, 4
add ecx, 4
test dx, dx
jne 0x402f72
xor eax, eax
jmp 0x402f9d
sbb eax, eax
or eax, 1
test eax, eax
je 0x402fbb
lea eax, [ebp - 0x20c]
push eax
call fcn.0042d5b4
mov ecx, dword [ebp - 0x210]
add esp, 4
mov ecx, dword [ecx + 8]
mov byte [ecx], al
cmp byte [esi + 0xd], 0
jne 0x403002
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x402fe0
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x403002
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x402fd4
jmp 0x403002
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x403000
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x403000
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x402ff0
mov esi, eax
mov eax, dword [edi + 0x18]
cmp esi, dword [eax]
jne 0x402f10
mov eax, dword [edi + 0x20]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x403122
nop dword [eax]
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x210], eax
lea edx, [eax + 0xc]
mov ecx, edx
lea ebx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x403031
sub ecx, ebx
sar ecx, 1
test ecx, ecx
jle 0x4030d1
cmp dword [edi + 0xa4], 8
lea eax, [edi + 0x90]
jb 0x403059
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 0x4030a8
test dx, dx
je 0x4030a4
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4030a8
add eax, 4
add ecx, 4
test dx, dx
jne 0x403082
xor eax, eax
jmp 0x4030ad
sbb eax, eax
or eax, 1
test eax, eax
je 0x4030d1
mov edx, dword [ebp - 0x210]
lea ecx, [ebp - 0x20c]
mov edx, dword [edx + 8]
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx], ax
lea edx, [edx + 2]
test ax, ax
jne 0x4030c0
cmp byte [esi + 0xd], 0
jne 0x403117
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x4030fc
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x403117
nop word [eax + eax]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x4030f0
jmp 0x403117
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x403115
cmp esi, dword [eax + 8]
jne 0x403115
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x403105
mov esi, eax
mov eax, dword [edi + 0x20]
cmp esi, dword [eax]
jne 0x403020
mov ecx, edi
call fcn.00405e60
cmp dword [edi + 0xbc], 8
lea eax, [edi + 0xa8]
jb 0x40313a
mov eax, dword [eax]
push eax
push 0x5b2e50
push 0x5b2e54
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 0x4031c9
nop dword [eax + eax]
push dword [esi + 0x10]
mov ecx, edi
call fcn.004056b0
test eax, eax
je 0x40317b
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 0x4031c2
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x4031a0
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x4031c2
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x403194
jmp 0x4031c2
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x4031c0
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x4031c0
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x4031b0
mov esi, eax
mov eax, dword [edi + 0x58]
cmp esi, dword [eax]
jne 0x403160
mov eax, dword [edi + 0x54]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x403239
push dword [esi + 0x10]
mov ecx, edi
call fcn.004056b0
test eax, eax
je 0x4031ef
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 0x403232
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x403214
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x403232
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x403208
jmp 0x403232
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x403230
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x403230
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x403220
mov esi, eax
mov eax, dword [edi + 0x54]
cmp esi, dword [eax]
jne 0x4031d4
push 0x6c
mov ecx, edi
call fcn.00405340
push eax
push 0x6c
mov ecx, edi
call fcn.004057e0
push 0x6b
mov ecx, edi
call fcn.00405340
push eax
push 0x6b
mov ecx, edi
call fcn.004057e0
push 0x69
mov ecx, edi
call fcn.00405340
push eax
push 0x69
mov ecx, edi
call fcn.004057e0
push 0x6a
mov ecx, edi
call fcn.00405340
push eax
push 0x6a
mov ecx, edi
call fcn.004057e0
push 0x67
mov ecx, edi
call fcn.00405340
push eax
push 0x67
mov ecx, edi
call fcn.004057e0
push 0x68
mov ecx, edi
call fcn.00405340
push eax
push 0x68
mov ecx, edi
call fcn.004057e0
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00415db5
mov esp, ebp
pop ebp
ret