Function at 0x41a67f
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57032c
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x934
push edi
cmp dword [0x5d7f9c], 0
je 0x41a6ac
jmp 0x41a999
mov dword [0x5d7f9c], 1
mov dword [ebp - 0x81c], 0x400
mov byte [ebp - 0x410], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x40f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x818], 0
mov dword [ebp - 0x814], 0
mov byte [ebp - 0x810], 0
mov ecx, 0xff
xor eax, eax
lea edi, [ebp - 0x80f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x10], 0x400
mov dword [ebp - 0x928], 0x5d7fa0
mov dword [ebp - 0x820], 0
mov byte [ebp - 0x924], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x923]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
push str.OAgent.ini
call fcn.0040108a
push eax
push 0x5b9b6c
lea eax, [ebp - 0x924]
push eax
call fcn.004312be
add esp, 0x10
lea ecx, [ebp - 0x924]
push ecx
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x810]
push eax
mov ecx, dword [ebp - 0x928]
push ecx
push 0x5801c8
push str.AgentConfig
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov dword [ebp - 0x820], eax
cmp dword [ebp - 0x820], 0
jbe 0x41a7c1
mov edx, dword [ebp - 0x10]
movsx eax, byte [ebp + edx - 0x811]
test eax, eax
jne 0x41a7c1
push 0x400
lea ecx, [ebp - 0x410]
push ecx
lea edx, [ebp - 0x810]
push edx
call fcn.00492580
add esp, 0xc
mov dword [ebp - 0x818], eax
cmp dword [ebp - 0x818], 0
jne 0x41a89f
lea ecx, [ebp - 0x930]
call fcn.0045d1a0
mov dword [ebp - 4], 0
push 0x20019
push str.SOFTWAREClassesCLSIDAFFAEF68_CDC5_4aad_9D3F_997C0D55927BProgID
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x930]
call fcn.0045d310
test eax, eax
je 0x41a882
lea eax, [ebp - 0x818]
push eax
push 0x580214
lea ecx, [ebp - 0x930]
call fcn.0045d730
mov dword [ebp - 0x814], eax
cmp dword [ebp - 0x814], 0
je 0x41a882
cmp dword [ebp - 0x818], 0x400
jae 0x41a853
mov ecx, dword [ebp - 0x818]
push ecx
mov edx, dword [ebp - 0x814]
push edx
lea eax, [ebp - 0x410]
push eax
call fcn.00431cd0
add esp, 0xc
jmp 0x41a85d
mov dword [ebp - 0x818], 0
mov ecx, dword [ebp - 0x814]
mov dword [ebp - 0x940], ecx
mov edx, dword [ebp - 0x940]
push edx
call fcn.005568f1
add esp, 4
mov dword [ebp - 0x814], 0
lea ecx, [ebp - 0x930]
call fcn.0045d360
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x930]
call fcn.0045d290
cmp dword [ebp - 0x818], 0
jne 0x41a91e
mov eax, dword [ebp - 0x10]
push eax
push 0
lea ecx, [ebp - 0x810]
push ecx
call fcn.00431600
add esp, 0xc
mov edx, dword [ebp - 0x10]
push edx
lea eax, [ebp - 0x810]
push eax
mov ecx, dword [ebp - 0x928]
push ecx
push 0x580214
push str.ED30_8AC4_11D5_8930_A730
call dword [sym.imp.KERNEL32.dll_GetProfileStringA]
mov dword [ebp - 0x820], eax
cmp dword [ebp - 0x820], 0
jbe 0x41a91e
mov edx, dword [ebp - 0x10]
movsx eax, byte [ebp + edx - 0x811]
test eax, eax
jne 0x41a91e
push 0x400
lea ecx, [ebp - 0x410]
push ecx
lea edx, [ebp - 0x810]
push edx
call fcn.00492580
add esp, 0xc
mov dword [ebp - 0x818], eax
cmp dword [ebp - 0x818], 0
je 0x41a999
cmp dword [ebp - 0x818], 4
jbe 0x41a999
lea eax, [ebp - 0x410]
mov dword [ebp - 0x934], eax
cmp dword [ebp - 0x934], 0
je 0x41a999
mov ecx, dword [ebp - 0x934]
cmp dword [ecx], 1
je 0x41a999
mov edx, dword [ebp - 0x934]
add edx, 4
mov dword [ebp - 0x938], edx
mov ecx, dword [ebp - 0x938]
call fcn.0041bad0
mov dword [ebp - 0x93c], eax
cmp dword [ebp - 0x93c], 0
je 0x41a999
mov eax, dword [ebp - 0x818]
sub eax, 4
cmp dword [ebp - 0x93c], eax
ja 0x41a999
mov ecx, dword [ebp - 0x938]
mov edx, dword [ecx + 4]
mov dword [0x5d7f98], edx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
mov esp, ebp
pop ebp
ret