Function at 0x10011e0a
Capabilities:
Read .ini file

Disassembly:
push ebp
sub esp, 0x140
lea ebp, [esp - 4]
mov eax, dword [0x1007b940]
xor eax, ebp
mov dword [ebp + 0x140], eax
push 0x8c
mov eax, 0x1005cef1
call fcn.1003230f
mov esi, ecx
lea ecx, [ebp - 0x74]
call fcn.100013fb
xor ebx, ebx
lea ecx, [ebp - 0x7c]
mov dword [ebp - 4], ebx
call fcn.100013fb
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.100013fb
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.100013fb
push 0x10062578
push 1
push str.NewDataFolderMethod
push str.MagicNumber
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntA]
test eax, eax
je 0x1001234d
lea ecx, [ebp - 0x24]
call fcn.100013fb
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.100013fb
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 5
call fcn.1000f125
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
lea eax, [ebp - 0x38]
push eax
mov edi, 0x100627e8
push edi
push SysStringLen
mov byte [ebp - 4], 7
call fcn.10029dc6
add esp, 0xc
cmp dword [ebp - 0x34], ebx
mov dword [ebp - 0x10], ebx
jle 0x10011f60
push edi
lea ecx, [ebp - 0x1c]
call fcn.10001432
push dword [ebp - 0x10]
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 8
call fcn.1000b963
push eax
lea ecx, [ebp - 0x1c]
call fcn.10001c64
lea eax, [ebp - 0x24]
push eax
push str.DataFolder
push dword [ebp - 0x18]
call fcn.10028f61
add esp, 0xc
test eax, eax
je 0x10011f3d
push dword [ebp - 0x20]
lea ecx, [ebp - 0x98]
call fcn.1000557a
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 9
call fcn.1001149b
push ebx
push 1
lea ecx, [ebp - 0x98]
call fcn.100048de
jmp 0x10011f45
lea ecx, [ebp - 0x24]
call fcn.100010c6
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 7
call fcn.10001636
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x34]
jl 0x10011ed3
cmp dword [ebp - 0x34], 0
jle 0x1001202d
push edi
lea ecx, [ebp - 0x14]
call fcn.10001432
push ebx
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0xa
call fcn.1000b963
push eax
lea ecx, [ebp - 0x14]
call fcn.10001c64
lea eax, [ebp - 0x24]
push eax
push str.DataFolder
push dword [ebp - 0x10]
call fcn.10028f61
add esp, 0xc
test eax, eax
jne 0x10011fa9
lea ecx, [ebp - 0x24]
call fcn.100010c6
lea ecx, [ebp - 0x1c]
call fcn.100013fb
lea eax, [ebp - 0x1c]
push eax
push str.InstanceId
push dword [ebp - 0x10]
mov byte [ebp - 4], 0xb
call fcn.10028f61
add esp, 0xc
test eax, eax
je 0x10011fe5
lea eax, [esi + 4]
push eax
lea ecx, [ebp - 0x1c]
call fcn.10001f4b
test eax, eax
je 0x10012009
lea ecx, [ebp - 0x24]
call fcn.100010c6
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call fcn.10001636
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.10001636
inc ebx
cmp ebx, dword [ebp - 0x34]
jl 0x10011f6a
jmp 0x1001202d
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x40]
call fcn.100018ed
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xa
call fcn.10001636
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 7
call fcn.10001636
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 6
call fcn.1000be9a
lea ecx, [esi + 0xf0]
call fcn.10001130
test eax, eax
jle 0x1001230b
lea ecx, [ebp - 0x24]
call fcn.10001130
test eax, eax
jne 0x100121e4
mov eax, dword [ebp - 0x58]
mov eax, dword [eax]
lea ecx, [ebp - 0x6c]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.1000e8ba
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x58]
lea ecx, [ebp - 0x2c]
call fcn.1000e8ba
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1000c92a
test al, al
jne 0x100121e4
lea edi, [esi + 0xb4]
lea ecx, [ebp - 0x1c]
call fcn.1000c8c8
cmp dword [eax + 0x18], 0x10
jb 0x100120aa
mov eax, dword [eax + 4]
jmp 0x100120ad
add eax, 4
mov ebx, dword [esi + 0xb8]
mov ecx, edi
mov dword [ebp - 0x10], eax
call fcn.10001130
push eax
push dword [ebp - 0x10]
push ebx
call fcn.10036865
add esp, 0xc
lea ecx, [ebp - 0x1c]
test eax, eax
je 0x100120fa
call fcn.1000c8f7
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x58]
lea ecx, [ebp - 0x2c]
call fcn.1000e8ba
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1000c92a
test al, al
je 0x10012097
jmp 0x100121e4
call fcn.1000c8c8
cmp dword [eax + 0x18], 0x10
jb 0x1001210a
mov eax, dword [eax + 4]
jmp 0x1001210d
add eax, 4
push eax
lea ecx, [ebp - 0x14]
call fcn.10001432
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.10001130
lea ecx, [ebp - 0x14]
mov ebx, eax
call fcn.10001130
sub eax, ebx
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
call fcn.10001e76
push dword [eax + 4]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xd
call fcn.10001145
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.10001636
push 0x5c
lea ecx, [ebp - 0x14]
call fcn.1000223b
inc eax
push eax
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x14]
call fcn.10001e17
push dword [eax + 4]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0xe
call fcn.10001145
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.10001636
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push edi
push eax
call fcn.100019b5
mov eax, dword [eax + 4]
lea ecx, [esi + 0xf0]
push ecx
push eax
lea eax, [ebp - 0x2c]
push eax
mov byte [ebp - 4], 0xf
call fcn.10001a07
add esp, 0x18
push dword [eax + 4]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x10
call fcn.10001145
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.10001636
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0xc
call fcn.10001636
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.10001636
lea ecx, [ebp - 0x24]
call fcn.10001130
test eax, eax
jne 0x1001230b
push str.hpqusg_
lea ecx, [ebp - 0x2c]
call fcn.10001432
push dword [eax + 4]
lea eax, [esi + 0xb4]
push eax
lea eax, [ebp - 0x14]
push eax
mov byte [ebp - 4], 0x11
call fcn.100019e0
add esp, 0xc
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x13
call fcn.10001636
push dword [ebp - 0x10]
call fcn.1002c666
pop ecx
test eax, eax
jne 0x1001227e
lea eax, [esi + 0xf0]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x34]
push eax
call fcn.100019b5
push 0x10061914
push eax
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0x14
call fcn.100019e0
add esp, 0x18
push dword [eax + 4]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x15
call fcn.10001145
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x14
call fcn.10001636
lea ecx, [ebp - 0x34]
jmp 0x100122f6
xor edi, edi
inc edi
mov eax, dword [esi + 0xb8]
push edi
push eax
lea eax, [ebp - 0x14]
push str._shpqusg_02d_
push eax
call fcn.10001266
push dword [ebp - 0x10]
call fcn.1002c666
add esp, 0x14
test eax, eax
je 0x100122ae
inc edi
cmp edi, 0x64
jl 0x10012281
jmp 0x100122ff
lea eax, [esi + 0xf0]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.100019b5
push 0x10061914
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x16
call fcn.100019e0
add esp, 0x18
push dword [eax + 4]
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x17
call fcn.10001145
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x16
call fcn.10001636
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x13
call fcn.10001636
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.10001636
lea ecx, [ebp - 0x24]
call fcn.10001130
test eax, eax
je 0x10012322
push dword [ebp - 0x20]
lea ecx, [esi + 0xc]
mov eax, dword [ecx]
call dword [eax + 8]
lea ecx, [ebp - 0x6c]
call fcn.10010ed0
push dword [ebp - 0x6c]
call fcn.1002f915
pop ecx
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 4
call fcn.10001636
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.10001636
xor ebx, ebx
lea ecx, [esi + 0xc]
call fcn.100060e4
cmp eax, ebx
mov dword [ebp - 0x10], eax
jl 0x1001246d
lea eax, [esi + 0xe8]
push eax
push ebx
push str.ClientName
mov ecx, esi
call fcn.1000cf7e
lea eax, [esi + 0x118]
push eax
push ebx
push str.DataDictVer
mov ecx, esi
call fcn.1000cfb6
lea eax, [esi + 0xf8]
push eax
push ebx
push str.ModelID
mov ecx, esi
call fcn.1000cf7e
lea eax, [esi + 0x100]
push eax
push ebx
push 0x1006273c
mov ecx, esi
call fcn.1000cf7e
lea eax, [esi + 0x110]
push eax
push ebx
push str.ProductID
mov ecx, esi
call fcn.1000cf7e
lea eax, [esi + 0x108]
push eax
push ebx
push str.ProductType
mov ecx, esi
call fcn.1000cf7e
lea eax, [esi + 0xf0]
push eax
push ebx
push 0x10062764
mov ecx, esi
call fcn.1000cf7e
lea eax, [ebp - 0x48]
push eax
mov ecx, esi
call fcn.1000b5c3
push ebx
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x40]
push eax
call fcn.10001b10
push str..ini
push eax
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x18
call fcn.100019e0
add esp, 0x18
push dword [eax + 4]
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x19
call fcn.10001145
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x18
call fcn.10001636
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 3
call fcn.10001636
lea eax, [ebp]
push eax
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, eax
cmp edi, 0xffffffff
je 0x10012465
push ebx
mov ecx, esi
call fcn.100118fa
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
inc ebx
cmp ebx, 0x33
jl 0x100123f7
jmp 0x10012474
mov dword [ebp - 0x10], 0x8004aa05
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 2
call fcn.10001636
lea ecx, [ebp - 0x48]
mov byte [ebp - 4], 1
call fcn.10001636
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0
call fcn.10001636
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.10001636
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x140]
xor ecx, ebp
call fcn.100302c9
add ebp, 0x144
leave
ret