Function at 0x413950
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x569ad4
mov eax, dword fs:[0]
push eax
sub esp, 0xf4
mov eax, dword [0x5d4050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x88], edi
sub esp, 0x18
mov dword [ebp - 4], 0
mov ecx, esp
lea eax, [ebp + 8]
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00402ac0
mov ecx, edi
call fcn.00413520
test al, al
jne 0x4139d8
cmp dword [ebp + 0x1c], 0x10
jb 0x413ce0
push dword [ebp + 8]
call fcn.00421c08
add esp, 4
jmp 0x413ce0
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00402ac0
lea eax, [ebp - 0xa0]
push eax
call fcn.004143f0
lea esi, [edi + 0x30]
mov dword [ebp - 0x80], eax
cmp esi, eax
je 0x413a3d
cmp dword [esi + 0x14], 0x10
jb 0x413a24
push dword [esi]
call fcn.00421c08
mov eax, dword [ebp - 0x80]
add esp, 4
mov dword [esi + 0x14], 0xf
mov ecx, esi
mov dword [esi + 0x10], 0
push eax
mov byte [esi], 0
call fcn.004028b0
cmp dword [ebp - 0x8c], 0x10
jb 0x413a54
push dword [ebp - 0xa0]
call fcn.00421c08
add esp, 4
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.00402ac0
lea eax, [ebp - 0xa0]
push eax
call fcn.004145e0
add edi, 0x48
mov dword [ebp - 0x80], eax
cmp edi, eax
je 0x413ab9
cmp dword [edi + 0x14], 0x10
jb 0x413aa0
push dword [edi]
call fcn.00421c08
mov eax, dword [ebp - 0x80]
add esp, 4
mov dword [edi + 0x14], 0xf
mov ecx, edi
mov dword [edi + 0x10], 0
push eax
mov byte [edi], 0
call fcn.004028b0
cmp dword [ebp - 0x8c], 0x10
jb 0x413ad0
push dword [ebp - 0xa0]
call fcn.00421c08
add esp, 4
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
xorps xmm0, xmm0
cmovae eax, dword [ebp + 8]
movdqu xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x50], 0xf
movdqu xmmword [ebp - 0x64], xmm0
mov dword [ebp - 0x54], 0
mov byte [ebp - 0x64], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
push eax
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
call fcn.00402120
lea edx, [ebp + 8]
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xa0]
call fcn.004086a0
mov edx, eax
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x7c]
call fcn.00410ff0
cmp dword [ebp - 0x8c], 0x10
jb 0x413b4c
push dword [ebp - 0xa0]
call fcn.00421c08
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x44]
push 0
push 0x5afb08
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0x90], 0
mov byte [ebp - 0xa0], 0
mov dword [ebp - 0x30], 0xf
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x44], 0
call fcn.00402bf0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x2c]
push 0
push 0x5afb08
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
call fcn.00402bf0
mov byte [ebp - 4], 8
lea eax, [ebp - 0x64]
cmp dword [ebp - 0x50], 0x10
cmovae eax, dword [ebp - 0x64]
push eax
push 0
push str.InstallType
push str.Root
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
cmp eax, 4
ja case.default.0x413bdc
jmp dword [eax*4 + 0x413f18]
mov ecx, dword [ebp - 0x88]
lea eax, [ebp + 8]
push eax
add ecx, 0x64
call fcn.004107a0
jmp case.default.0x413bdc
lea eax, [ebp - 0x44]
cmp eax, esi
je 0x413c0d
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.00402ac0
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x2c]
push ecx
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x64]
push 0x5afb08
push eax
push str.Installpath
call fcn.00402250
cmp dword [ebp - 0x1c], 0
jne 0x413c50
lea eax, [ebp - 0x2c]
push eax
push 0x5afb08
push str.Default
push str.Installpath
lea ecx, [ebp - 0x64]
call fcn.00402250
sub esp, 0x18
lea eax, [ebp - 0x7c]
mov ecx, esp
mov dword [ebp - 0x80], esp
push eax
call fcn.004023f0
sub esp, 0x18
mov byte [ebp - 4], 9
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.004023f0
lea eax, [ebp - 0xa0]
mov byte [ebp - 4], 8
push eax
call fcn.00413640
push eax
lea ecx, [ebp - 0x2c]
call fcn.004024f0
lea ecx, [ebp - 0xa0]
call fcn.00402530
sub esp, 0x18
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.004023f0
mov ecx, dword [ebp - 0x88]
call fcn.00413950
test al, al
jne case.default.0x413bdc
lea ecx, [ebp - 0x2c]
call fcn.00402530
lea ecx, [ebp - 0x44]
call fcn.00402530
lea ecx, [ebp - 0x7c]
call fcn.00402530
lea ecx, [ebp - 0x64]
call fcn.004020a0
lea ecx, [ebp + 8]
call fcn.00402530
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00549fe1
mov esp, ebp
pop ebp
ret 0x18
lea eax, [ebp - 0x44]
cmp eax, edi
je 0x413d13
push 0xffffffffffffffff
push 0
push edi
mov ecx, eax
call fcn.00402ac0
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x2c]
push ecx
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x64]
push 0x5afb08
push eax
push str.Installpath
call fcn.00402250
cmp dword [ebp - 0x1c], 0
jne 0x413d56
lea eax, [ebp - 0x2c]
push eax
push 0x5afb08
push str.Default
push str.Installpath
lea ecx, [ebp - 0x64]
call fcn.00402250
sub esp, 0x18
lea eax, [ebp - 0x7c]
mov ecx, esp
mov dword [ebp - 0x84], esp
push eax
call fcn.004023f0
sub esp, 0x18
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.004023f0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 8
push eax
call fcn.00413640
push eax
lea ecx, [ebp - 0x2c]
call fcn.004024f0
lea ecx, [ebp - 0xb8]
jmp 0x413c92
push 0x5b0bf8
mov edx, esi
lea ecx, [ebp - 0xe8]
call fcn.00403b60
add esp, 4
push edi
mov edx, eax
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x100]
call fcn.00403d00
add esp, 4
lea ecx, [ebp - 0x44]
push eax
call fcn.004024f0
lea ecx, [ebp - 0x100]
call fcn.00402530
lea ecx, [ebp - 0xe8]
mov byte [ebp - 4], 8
call fcn.00402530
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x2c]
push ecx
lea eax, [ebp - 0x44]
cmovae eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x64]
push 0x5afb08
push eax
push str.Installpath
call fcn.00402250
cmp dword [ebp - 0x1c], 0
jne 0x413e30
lea eax, [ebp - 0x2c]
push eax
push 0x5afb08
push str.Default
push str.Installpath
lea ecx, [ebp - 0x64]
call fcn.00402250
sub esp, 0x18
lea eax, [ebp - 0x7c]
mov ecx, esp
mov dword [ebp - 0x84], esp
push eax
call fcn.004023f0
sub esp, 0x18
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.004023f0
lea eax, [ebp - 0xd0]
mov byte [ebp - 4], 8
push eax
call fcn.00413640
push eax
lea ecx, [ebp - 0x2c]
call fcn.004024f0
lea ecx, [ebp - 0xd0]
jmp 0x413c92
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.004023f0
mov ecx, dword [ebp - 0x88]
call fcn.00412f70
cmp dword [ebp - 0x18], 0x10
jb 0x413ea4
push dword [ebp - 0x2c]
call fcn.00421c08
add esp, 4
cmp dword [ebp - 0x30], 0x10
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x2c], 0
jb 0x413ec7
push dword [ebp - 0x44]
call fcn.00421c08
add esp, 4
cmp dword [ebp - 0x68], 0x10
jb 0x413ed8
push dword [ebp - 0x7c]
call fcn.00421c08
add esp, 4
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x68], 0xf
mov dword [ebp - 0x6c], 0
mov byte [ebp - 0x7c], 0
call fcn.004020a0
cmp dword [ebp + 0x1c], 0x10
jb 0x413f03
push dword [ebp + 8]
call fcn.00421c08
add esp, 4
mov al, 1
jmp 0x413ce2