Function at 0x439600
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 0x439621
cmp byte [esi], bl
jne 0x4397a5
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 0x4396b4
lea ecx, [esp + 0x114]
test ecx, ecx
je 0x4396b4
cmp byte [0x459028], bl
jne 0x439684
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x104
push 0x459028
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x459028
call sub.MSVCRT.dll__mbsrchr
add esp, 8
cmp eax, ebx
je 0x439684
mov byte [eax], bl
push str.Tenio.ini
push 0x459028
push str._s_s
push 0x103
lea edx, [esp + 0x124]
push 0x104
push edx
call fcn.00439950
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 0x43970f
mov al, byte [esp + 0x10]
cmp al, bl
je 0x43970f
cmp al, 0x20
je 0x439707
cmp al, 9
jne 0x43973b
mov al, byte [ecx + 1]
inc ecx
cmp al, bl
jne 0x4396ff
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.00439b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
lea eax, [esp + 0x10]
mov ecx, ebp
push eax
call fcn.00439b90
test eax, eax
je 0x43977c
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.00439ca0
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.004399a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc
push 0x3a
push esi
call sub.MSVCRT.dll__mbschr
add esp, 8
test eax, eax
jne 0x439924
cmp byte [esi], 0x5c
je 0x439924
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 0x439847
cmp byte [0x459028], bl
jne 0x43981b
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x104
push 0x459028
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x5c
push 0x459028
call sub.MSVCRT.dll__mbsrchr
add esp, 8
cmp eax, ebx
je 0x43981b
mov byte [eax], bl
push esi
push 0x459028
push str._s_s
push 0x103
lea eax, [esp + 0x124]
push 0x104
push eax
call fcn.00439950
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.00439c70
test eax, eax
jne 0x4398f8
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.00439b90
test eax, eax
je 0x4398cf
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.00439ca0
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.004399a0
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.00439b40
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.004399a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x208
ret 0xc