Function at 0x404a30
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x210
mov eax, dword [0x60b044]
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.0042bf30
mov eax, dword [edi + 0x1c]
add esp, 0xc
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x404b62
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 0x404a81
sub ecx, dword [ebp - 0x210]
sar ecx, 1
test ecx, ecx
jle 0x404b13
cmp dword [edi + 0x8c], 8
lea eax, [edi + 0x78]
jb 0x404aa6
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x5fe510
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x5fe510
lea eax, [ebp - 0x20c]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404af6
test dx, dx
je 0x404af2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404af6
add eax, 4
add ecx, 4
test dx, dx
jne 0x404ad0
xor eax, eax
jmp 0x404afb
sbb eax, eax
or eax, 1
test eax, eax
je 0x404b13
lea eax, [ebp - 0x20c]
push eax
call fcn.00437404
mov ecx, dword [ebx + 8]
add esp, 4
mov dword [ecx], eax
cmp byte [esi + 0xd], 0
jne 0x404b57
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x404b3c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x404b57
nop dword [eax]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x404b30
jmp 0x404b57
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x404b55
cmp esi, dword [eax + 8]
jne 0x404b55
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x404b45
mov esi, eax
mov eax, dword [edi + 0x1c]
cmp esi, dword [eax]
jne 0x404a70
mov eax, dword [edi + 0x18]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x404c62
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 0x404b82
sub ecx, dword [ebp - 0x210]
sar ecx, 1
test ecx, ecx
jle 0x404c17
cmp dword [edi + 0x8c], 8
lea eax, [edi + 0x78]
jb 0x404bab
mov eax, dword [eax]
push eax
push 0x104
lea eax, [ebp - 0x20c]
push eax
push 0x5fe510
push edx
push str.Setting
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov ecx, 0x5fe510
lea eax, [ebp - 0x20c]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x404bfa
test dx, dx
je 0x404bf6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404bfa
add eax, 4
add ecx, 4
test dx, dx
jne 0x404bd4
xor eax, eax
jmp 0x404bff
sbb eax, eax
or eax, 1
test eax, eax
je 0x404c17
lea eax, [ebp - 0x20c]
push eax
call fcn.00437404
mov ecx, dword [ebx + 8]
add esp, 4
mov byte [ecx], al
cmp byte [esi + 0xd], 0
jne 0x404c57
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x404c3c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x404c57
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x404c30
jmp 0x404c57
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x404c55
cmp esi, dword [eax + 8]
jne 0x404c55
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x404c45
mov esi, eax
mov eax, dword [edi + 0x18]
cmp esi, dword [eax]
jne 0x404b71
mov eax, dword [edi + 0x20]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x404d72
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 0x404c82
sub ecx, dword [ebp - 0x210]
sar ecx, 1
test ecx, ecx
jle 0x404d21
cmp dword [edi + 0x8c], 8
lea eax, [edi + 0x78]
jb 0x404cab
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 0x404cfa
test dx, dx
je 0x404cf6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x404cfa
add eax, 4
add ecx, 4
test dx, dx
jne 0x404cd4
xor eax, eax
jmp 0x404cff
sbb eax, eax
or eax, 1
test eax, eax
je 0x404d21
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 0x404d10
cmp byte [esi + 0xd], 0
jne 0x404d67
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x404d4c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x404d67
nop word [eax + eax]
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x404d40
jmp 0x404d67
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x404d65
cmp esi, dword [eax + 8]
jne 0x404d65
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x404d55
mov esi, eax
mov eax, dword [edi + 0x20]
cmp esi, dword [eax]
jne 0x404c71
mov ecx, edi
call fcn.00407b30
cmp dword [edi + 0xa4], 8
lea eax, [edi + 0x90]
jb 0x404d8a
mov eax, dword [eax]
push eax
push 0x5fe0f4
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 0x404e19
nop
push dword [esi + 0x10]
mov ecx, edi
call fcn.00407320
test eax, eax
je 0x404dcb
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 0x404e12
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x404df0
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x404e12
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x404de4
jmp 0x404e12
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x404e10
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x404e10
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x404e00
mov esi, eax
mov eax, dword [edi + 0x58]
cmp esi, dword [eax]
jne 0x404db0
mov eax, dword [edi + 0x54]
mov eax, dword [eax]
mov esi, dword [eax]
cmp esi, eax
je 0x404e99
nop dword [eax + eax]
push dword [esi + 0x10]
mov ecx, edi
call fcn.00407320
test eax, eax
je 0x404e4b
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 0x404e92
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x404e70
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x404e92
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x404e64
jmp 0x404e92
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x404e90
nop dword [eax]
cmp esi, dword [eax + 8]
jne 0x404e90
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x404e80
mov esi, eax
mov eax, dword [edi + 0x54]
cmp esi, dword [eax]
jne 0x404e30
call fcn.00428ee1
push 0
push 0x85
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.00429017
push esi
push 0xe
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00428ee1
push 0
push 0x84
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.00429017
push esi
push 0xd
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00428ee1
push 0
push 0x82
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.00429017
push esi
push 0xb
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00428ee1
push 0
push 0x83
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.00429017
push esi
push 0xc
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00428ee1
push 0
push 0x80
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.00429017
push esi
push 9
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
call fcn.00428ee1
push 0
push 0x81
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 8]
mov esi, eax
call fcn.00429017
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.0041afe3
mov esp, ebp
pop ebp
ret