Function at 0x409770
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 0x409791
cmp byte [esi], bl
jne 0x409915
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 0x409824
lea ecx, [esp + 0x114]
test ecx, ecx
je 0x409824
cmp byte [0x423c50], bl
jne 0x4097f4
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x104
push 0x423c50
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x423c50
call fcn.0041238c
add esp, 8
cmp eax, ebx
je 0x4097f4
mov byte [eax], bl
push str.Tenio.ini
push 0x423c50
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 0x40987f
mov al, byte [esp + 0x10]
cmp al, bl
je 0x40987f
cmp al, 0x20
je 0x409877
cmp al, 9
jne 0x4098ab
mov al, byte [ecx + 1]
inc ecx
cmp al, bl
jne 0x40986f
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.0040ba30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.0040bb10
test eax, eax
je 0x4098ec
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.0040c420
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.0040b890
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 0x409a94
cmp byte [esi], 0x5c
je 0x409a94
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 0x4099b7
cmp byte [0x423c50], bl
jne 0x40998b
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x104
push 0x423c50
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x423c50
call fcn.0041238c
add esp, 8
cmp eax, ebx
je 0x40998b
mov byte [eax], bl
push esi
push 0x423c50
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.0040c3f0
test eax, eax
jne 0x409a68
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.0040bb10
test eax, eax
je 0x409a3f
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.0040c420
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.0040b890
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.0040ba30
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.0040b890
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc