Function at 0x40e95b
Capabilities:
Read .ini file

Disassembly:
push ebp
mov eax, 0x103c
lea ebp, [esp - 0xfbc]
call fcn.00417340
mov eax, dword [0x423694]
push ebx
push esi
xor eax, ebp
push edi
mov dword [ebp + 0xfb8], eax
mov edi, ecx
lea eax, [edi + 8]
push str.config.ini
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.004023ed
mov eax, dword [ebp - 0x60]
add esp, 0xc
cmp dword [ebp - 0x4c], 8
jae 0x40e9a0
lea eax, [ebp - 0x60]
mov ebx, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
push eax
push 0x800
lea eax, [ebp - 0x48]
push eax
push 0
push 0x41b75c
mov esi, str.product
push esi
call ebx
cmp eax, 1
jae 0x40e9cb
xor bl, bl
jmp 0x40ed9c
lea eax, [ebp - 0x48]
lea ecx, [edi + 0x4a0]
push eax
call dword [0x419304]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40e9e7
lea eax, [ebp - 0x60]
push eax
push 0x800
lea eax, [ebp - 0x48]
push eax
push 0
push str.name
push esi
call ebx
test eax, eax
lea ecx, [edi + 0x4bc]
jbe 0x40ea11
lea eax, [ebp - 0x48]
push eax
call dword [0x419304]
jmp 0x40ea1e
lea eax, [edi + 0x4a0]
push eax
call dword [0x4192fc]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40ea2a
lea eax, [ebp - 0x60]
push eax
push 0x800
lea eax, [ebp - 0x48]
push eax
push 0
push str.version
push esi
call ebx
cmp eax, 1
jb 0x40e9c4
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x4d8]
call dword [0x419304]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40ea5f
lea eax, [ebp - 0x60]
push eax
push 0x800
lea eax, [ebp - 0x48]
push eax
push 0
push str.peerid
push esi
call ebx
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x52c]
call dword [0x419304]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40ea8f
lea eax, [ebp - 0x60]
push eax
push 0x800
lea eax, [ebp - 0x48]
push eax
push 0
push str.path
push esi
call ebx
cmp eax, 1
jb 0x40e9c4
lea eax, [ebp - 0x48]
lea ecx, [edi + 0x4f4]
push eax
call dword [0x419304]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40eac8
lea eax, [ebp - 0x60]
push eax
push 0x800
lea eax, [ebp - 0x48]
push eax
push 0
push str.param
push esi
call ebx
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x510]
call dword [0x419304]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40eaf8
lea eax, [ebp - 0x60]
push eax
push 0x800
lea eax, [ebp - 0x48]
push eax
push 0
push str.thunder_estr
push esi
call ebx
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x548]
call dword [0x419304]
push 0
call dword [sym.imp.MSVCR71.dll_time]
cmp dword [ebp - 0x4c], 8
pop ecx
mov ecx, dword [ebp - 0x60]
jae 0x40eb31
lea ecx, [ebp - 0x60]
push ecx
push eax
push str.risetime
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileIntW]
call esi
cmp dword [ebp - 0x4c], 8
mov dword [edi + 0x59c], eax
mov eax, dword [ebp - 0x60]
jae 0x40eb53
lea eax, [ebp - 0x60]
push eax
push 0
push str.showmode
push str.report
call esi
cmp dword [ebp - 0x4c], 8
mov dword [edi + 0x5a0], eax
mov eax, dword [ebp - 0x60]
jae 0x40eb74
lea eax, [ebp - 0x60]
push eax
push 0
push str.workstate
push str.report
call esi
cmp dword [ebp - 0x4c], 8
mov dword [edi + 0x5a4], eax
mov eax, dword [ebp - 0x60]
jae 0x40eb95
lea eax, [ebp - 0x60]
push eax
push 0
push str.needsend
push str.report
call esi
test eax, eax
setne al
cmp dword [ebp - 0x4c], 8
mov byte [edi + 0x5a8], al
mov eax, dword [ebp - 0x60]
jae 0x40ebbb
lea eax, [ebp - 0x60]
push eax
push 0
push str.sended
push str.report
call esi
test eax, eax
setne al
cmp dword [ebp - 0x4c], 8
mov byte [edi + 0x5a9], al
mov eax, dword [ebp - 0x60]
jae 0x40ebe1
lea eax, [ebp - 0x60]
push eax
push 0
push str.language
push str.report
call esi
push eax
call fcn.0040bbe7
mov ecx, eax
call fcn.0040bbb8
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40ec09
lea eax, [ebp - 0x60]
push eax
push 0
push str.auto
push str.restart
call esi
test eax, eax
setne al
cmp dword [ebp - 0x4c], 8
mov byte [edi + 0x5ab], al
mov eax, dword [ebp - 0x60]
jae 0x40ec2f
lea eax, [ebp - 0x60]
push eax
push 1
push str.need
push str.restart
call esi
test eax, eax
setne al
cmp dword [ebp - 0x4c], 8
mov byte [edi + 0x5aa], al
mov eax, dword [ebp - 0x60]
jae 0x40ec55
lea eax, [ebp - 0x60]
push eax
push 0
push str.autostep
push str.restart
call esi
cmp dword [ebp - 0x4c], 8
mov dword [edi + 0x5ac], eax
mov eax, dword [ebp - 0x60]
jae 0x40ec76
lea eax, [ebp - 0x60]
push eax
mov esi, 0x800
push esi
lea eax, [ebp - 0x48]
push eax
push 0
push str.param
push str.restart
call ebx
cmp eax, 1
jbe 0x40eca4
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x5cc]
call dword [0x419304]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40ecb0
lea eax, [ebp - 0x60]
push eax
push esi
lea eax, [ebp - 0x48]
push eax
push 0
push str.path
push str.restart
call ebx
cmp eax, 1
jbe 0x40ecd9
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x5b0]
call dword [0x419304]
cmp dword [edi + 0x5c4], 1
jae 0x40ecf5
lea eax, [edi + 0x4f4]
push eax
lea ecx, [edi + 0x5b0]
call dword [0x4192fc]
push str.minidump.dmp
lea eax, [edi + 8]
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.004023ed
mov eax, dword [ebp - 0x7c]
add esp, 0xc
cmp dword [ebp - 0x68], 8
jae 0x40ed16
lea eax, [ebp - 0x7c]
push eax
lea ecx, [edi + 0x28]
call fcn.00408a38
test eax, eax
je 0x40ed27
xor bl, bl
jmp 0x40ed93
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40ed33
lea eax, [ebp - 0x60]
push eax
push esi
lea eax, [ebp - 0x48]
push eax
push 0
push str.param
push 0x41b65c
call ebx
cmp eax, 1
jbe 0x40ed5c
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x580]
call dword [0x419304]
cmp dword [ebp - 0x4c], 8
mov eax, dword [ebp - 0x60]
jae 0x40ed68
lea eax, [ebp - 0x60]
push eax
push esi
lea eax, [ebp - 0x48]
push eax
push 0
push str.path
push 0x41b65c
call ebx
cmp eax, 1
jbe 0x40ed91
lea eax, [ebp - 0x48]
push eax
lea ecx, [edi + 0x564]
call dword [0x419304]
mov bl, 1
lea ecx, [ebp - 0x80]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
lea ecx, [ebp - 0x64]
call dword [sym.imp.MSVCP71.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov ecx, dword [ebp + 0xfb8]
pop edi
pop esi
mov al, bl
xor ecx, ebp
pop ebx
call fcn.00417249
add ebp, 0xfbc
leave
ret