Function at 0x1003f6b0
Capabilities:
Read .ini file

Disassembly:
push 0x20
mov eax, 0x1006656d
call fcn.100623e7
mov ebx, ecx
mov dword [ebp - 0x2c], ebx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
or eax, dword [edx + 4]
je 0x1003f9a4
push dword [edx + 8]
and dword [ebp - 0x20], 0
lea ecx, [ebp - 0x20]
call fcn.1003f3ac
and dword [ebp - 4], 0
mov edi, 0x200
push edi
push 0
push 0x10087910
call fcn.10042760
mov esi, dword [ebp - 0x20]
add esp, 0xc
push esi
push edi
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x10087910
push 0
push str.Author
push str.Desc
call edi
push 0x10087910
mov ecx, ebx
call fcn.10001a34
push 0x200
push 0
push 0x10087910
call fcn.10042760
add esp, 0xc
push esi
push 0x200
push 0x10087910
push 0
push str.Title
push str.Desc
call edi
lea ecx, [ebx + 8]
push 0x10087910
call fcn.10001a34
push 0x200
push 0
push 0x10087910
call fcn.10042760
add esp, 0xc
push esi
push 0x200
push 0x10087910
push 0
push str.Version
push str.Desc
call edi
lea ecx, [ebx + 0x10]
push 0x10087910
call fcn.10001a34
push 0x200
push 0
push 0x10087910
call fcn.10042760
add esp, 0xc
push esi
push 0x200
push 0x10087910
push 0
push str.Description
push str.Desc
call edi
lea ecx, [ebx + 0x18]
push 0x10087910
call fcn.10001a34
push 0x200
push 0
push 0x10087910
call fcn.10042760
add esp, 0xc
push esi
push 0x200
push 0x10087910
push 0
push str.Date
push str.Desc
call edi
lea ecx, [ebx + 0x20]
push 0x10087910
call fcn.10001a34
push 0x200
push 0
push 0x10087910
call fcn.10042760
add esp, 0xc
push esi
push 0x200
push 0x10087910
push 0
push str.AuthorURL
push str.Desc
call edi
lea ecx, [ebx + 0x28]
push 0x10087910
call fcn.10001a34
push 0x200
xorps xmm0, xmm0
push 0
push 0x10087910
movlpd qword [ebp - 0x1c], xmm0
call fcn.10042760
add esp, 0xc
push esi
push 0x200
push 0x10087910
push 0
push str.DLLFile
push str.Main
call edi
and dword [ebp - 0x1c], 0
lea ecx, [ebp - 0x1c]
and dword [ebp - 0x18], 0
push 0x10087910
call fcn.10001a34
mov byte [ebp - 4], 1
cmp dword [ebp - 0x18], 0
mov edi, dword [ebp - 0x1c]
je 0x1003f992
test edi, edi
je 0x1003f992
cmp dword [ebp - 0x18], 1
jbe 0x1003f992
push 0xc
call fcn.10040c35
pop ecx
xor ecx, ecx
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov dword [ebx + 0x30], eax
mov ebx, ecx
cmp dword [ebp - 0x18], ecx
jbe 0x1003f90b
mov al, byte [edi + ebx]
test al, al
je 0x1003f905
movsx eax, al
push eax
call fcn.10051540
pop ecx
test eax, eax
je 0x1003f8fb
mov ecx, ebx
cmp ebx, dword [ebp - 0x18]
jae 0x1003f8fb
cmp byte [edi + ecx], 0
je 0x1003f8fb
mov al, byte [edi + ecx + 1]
mov byte [edi + ecx], al
inc ecx
cmp ecx, dword [ebp - 0x18]
jb 0x1003f8e8
cmp byte [edi + ebx], 0x2c
jne 0x1003f905
mov byte [edi + ebx], 0
inc ebx
cmp ebx, dword [ebp - 0x18]
jb 0x1003f8cc
mov esi, dword [ebp - 0x2c]
mov ebx, edi
cmp byte [ebx], 0
je 0x1003f98f
mov eax, dword [esi + 0x30]
mov ecx, ebx
mov dword [ebp - 0x2c], eax
call fcn.10001ae9
and dword [ebp - 0x28], 0
lea ecx, [ebp - 0x28]
and dword [ebp - 0x24], 0
push eax
call fcn.10001a34
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 2
mov edx, dword [ecx + 4]
cmp edx, dword [ecx + 8]
je 0x1003f955
mov eax, dword [ebp - 0x28]
mov dword [edx], eax
mov eax, dword [ebp - 0x24]
mov dword [edx + 4], eax
xor eax, eax
add dword [ecx + 4], 8
jmp 0x1003f962
lea eax, [ebp - 0x28]
push eax
push edx
call fcn.100405b1
mov eax, dword [ebp - 0x28]
push eax
mov byte [ebp - 4], 1
call fcn.10040b7b
and dword [ebp - 0x28], 0
and dword [ebp - 0x24], 0
pop ecx
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1003f97a
sub ecx, edx
inc ebx
add ebx, ecx
mov eax, ebx
sub eax, edi
cmp eax, dword [ebp - 0x18]
jbe 0x1003f910
mov esi, dword [ebp - 0x20]
push edi
call fcn.10040b7b
pop ecx
test esi, esi
je 0x1003f9a4
push esi
call fcn.1004abde
pop ecx
call fcn.100623a5
ret 4