Function at 0x4090e0
Capabilities:
Read .ini file

Disassembly:
sub esp, 0x208
push ebx
push ebp
push esi
mov esi, dword [esp + 0x218]
xor ebx, ebx
push edi
cmp esi, ebx
mov ebp, ecx
je 0x409101
cmp byte [esi], bl
jne 0x409285
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x115]
mov byte [esp + 0x114], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, str.Tenio.ini
test eax, eax
je 0x409194
lea ecx, [esp + 0x114]
test ecx, ecx
je 0x409194
cmp byte [0x423b4c], bl
jne 0x409164
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x104
push 0x423b4c
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x423b4c
call fcn.0041238c
add esp, 8
cmp eax, ebx
je 0x409164
mov byte [eax], bl
push str.Tenio.ini
push 0x423b4c
push str._s_s
push 0x103
lea edx, [esp + 0x124]
push 0x104
push edx
call fcn.0040d7a0
add esp, 0x18
mov byte [esp + 0x217], bl
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x11]
mov byte [esp + 0x10], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x114]
lea ecx, [esp + 0x10]
push eax
push 0x104
push ecx
push ebx
push str.Path
push str.Redirect
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [esp + 0x10]
lea ecx, [esp + 0x10]
test edx, edx
je 0x4091ef
mov al, byte [esp + 0x10]
cmp al, bl
je 0x4091ef
cmp al, 0x20
je 0x4091e7
cmp al, 9
jne 0x40921b
mov al, byte [ecx + 1]
inc ecx
cmp al, bl
jne 0x4091df
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x220]
lea edx, [esp + 0x114]
push edx
push eax
push ecx
mov ecx, ebp
call fcn.0040a670
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.0040a750
test eax, eax
je 0x40925c
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x220]
push ecx
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x11c]
push eax
push ecx
mov ecx, ebp
call fcn.0040be70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
mov edx, dword [esp + 0x224]
mov eax, dword [esp + 0x220]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, ebp
call fcn.0040a4d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
push 0x3a
push esi
call fcn.004122f5
add esp, 8
test eax, eax
jne 0x409404
cmp byte [esi], 0x5c
je 0x409404
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x115]
mov byte [esp + 0x114], bl
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea edx, [esp + 0x114]
test edx, edx
stosb byte es:[edi], al
je 0x409327
cmp byte [0x423b4c], bl
jne 0x4092fb
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x104
push 0x423b4c
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x423b4c
call fcn.0041238c
add esp, 8
cmp eax, ebx
je 0x4092fb
mov byte [eax], bl
push esi
push 0x423b4c
push str._s_s
push 0x103
lea eax, [esp + 0x124]
push 0x104
push eax
call fcn.0040d7a0
add esp, 0x18
mov byte [esp + 0x217], bl
mov ecx, 0x40
xor eax, eax
lea edi, [esp + 0x11]
mov byte [esp + 0x10], bl
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x114]
lea edx, [esp + 0x10]
push ecx
push 0x104
stosw word es:[edi], ax
push edx
push ebx
push str.Path
push str.Redirect
stosb byte es:[edi], al
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.0040be40
test eax, eax
jne 0x4093d8
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.0040a750
test eax, eax
je 0x4093af
mov edx, dword [esp + 0x224]
mov eax, dword [esp + 0x220]
push edx
lea ecx, [esp + 0x14]
push eax
lea edx, [esp + 0x11c]
push ecx
push edx
mov ecx, ebp
call fcn.0040be70
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x220]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
mov ecx, ebp
call fcn.0040a4d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
mov ecx, dword [esp + 0x224]
mov edx, dword [esp + 0x220]
lea eax, [esp + 0x114]
push eax
push ecx
push edx
mov ecx, ebp
call fcn.0040a670
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x220]
push eax
push ecx
push esi
mov ecx, ebp
call fcn.0040a4d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc