Function at 0x100372c0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009ad26
mov eax, dword fs:[0]
push eax
sub esp, 0x698
mov eax, dword [0x100e6018]
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 esi, dword [ebp + 8]
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x424], ax
lea eax, [ebp - 0x422]
push eax
mov dword [ebp - 0x6a0], esi
call sub.MSVCR110.dll_memset
push 0
lea ecx, [ebp - 0x424]
call fcn.10035610
add esp, 0x10
test eax, eax
je 0x100375d7
xor eax, eax
mov dword [ebp - 0x688], 7
mov dword [ebp - 0x68c], 0
mov word [ebp - 0x69c], ax
mov dword [ebp - 4], eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
lea eax, [ebp - 0x424]
push eax
push 0
push str.ComponentCount
push str.Setting
call ebx
xor edi, edi
mov dword [ebp - 0x6a4], eax
test eax, eax
je 0x100375cd
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
jmp 0x10037380
xor eax, eax
push 0x206
push eax
mov word [ebp - 0x62c], ax
lea eax, [ebp - 0x62a]
push eax
call sub.MSVCR110.dll_memset
push edi
push str.Component_u
lea eax, [ebp - 0x62c]
push 0x104
push eax
call dword [sym.imp.MSVCR110.dll_swprintf_s]
xor eax, eax
mov dword [ebp - 0x66c], 7
mov dword [ebp - 0x670], 0
mov word [ebp - 0x680], ax
mov dword [ebp - 0x654], 7
mov dword [ebp - 0x658], eax
mov word [ebp - 0x668], ax
mov dword [ebp - 0x634], 7
mov dword [ebp - 0x638], eax
mov word [ebp - 0x648], ax
push 0x206
mov byte [ebp - 4], 1
push eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x21a]
push eax
call sub.MSVCR110.dll_memset
add esp, 0x28
lea eax, [ebp - 0x424]
push eax
push 0x104
lea eax, [ebp - 0x21c]
push eax
push 0
push str.Version
lea eax, [ebp - 0x62c]
push eax
call esi
test eax, eax
je 0x10037482
cmp word [ebp - 0x21c], 0
jne 0x10037453
xor ecx, ecx
jmp 0x1003746f
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
lea esp, [esp]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x10037460
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x680]
call fcn.100089b0
lea eax, [ebp - 0x424]
push eax
push 0x104
lea eax, [ebp - 0x21c]
push eax
push 0
push str.name
lea eax, [ebp - 0x62c]
push eax
call esi
test eax, eax
je 0x100374e2
cmp word [ebp - 0x21c], 0
jne 0x100374b7
xor ecx, ecx
jmp 0x100374cf
lea ecx, [ebp - 0x21c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100374c0
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x668]
call fcn.100089b0
lea eax, [ebp - 0x424]
push eax
push 0x104
lea eax, [ebp - 0x21c]
push eax
push 0
push str.RelativePath
lea eax, [ebp - 0x62c]
push eax
call esi
test eax, eax
je 0x10037542
cmp word [ebp - 0x21c], 0
jne 0x10037517
xor eax, eax
jmp 0x1003752f
lea eax, [ebp - 0x21c]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x10037520
sub eax, edx
sar eax, 1
push eax
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x648]
call fcn.100089b0
lea eax, [ebp - 0x424]
push eax
push 0
push str.useModule
lea eax, [ebp - 0x62c]
push eax
call ebx
mov dword [ebp - 0x650], eax
lea eax, [ebp - 0x424]
push eax
push 0
push str.UpdateMethod
lea eax, [ebp - 0x62c]
push eax
call ebx
mov dword [ebp - 0x64c], eax
lea eax, [ebp - 0x424]
push eax
push 0
push str.ComponentId
lea eax, [ebp - 0x62c]
push eax
call ebx
mov ecx, dword [ebp - 0x6a0]
mov dword [ebp - 0x684], eax
lea eax, [ebp - 0x684]
push eax
call fcn.10037a90
lea ecx, [ebp - 0x684]
mov byte [ebp - 4], 0
call fcn.10037600
inc edi
cmp edi, dword [ebp - 0x6a4]
jb 0x10037380
mov esi, dword [ebp - 0x6a0]
mov ecx, dword [esi]
xor eax, eax
cmp ecx, dword [esi + 4]
setne 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.100947be
mov esp, ebp
pop ebp
ret