Function at 0x409067
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
mov eax, dword [0x491330]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0xc], 0
push ebx
push esi
mov ebx, ecx
push edi
mov dword [ebp - 8], ebx
jne 0x4090ca
mov esi, dword [ebp + 8]
test esi, esi
je 0x4090a5
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x409091
sub ecx, edx
lea edi, [ecx + 1]
cmp edi, 0x3fffffff
jle 0x4090a9
xor eax, eax
jmp 0x4090bd
lea eax, [edi + edi]
call fcn.00448470
mov eax, esp
push 3
push edi
push esi
push eax
call fcn.00408fc3
push eax
mov ecx, ebx
call fcn.00409353
jmp 0x40926c
lea edi, [ebx + 0xc]
xor ebx, ebx
mov dword [ebp - 0xc], edi
push 2
pop esi
test edi, edi
jne 0x4090dd
mov edi, ebx
jmp 0x409119
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, bx
jne 0x4090e2
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x4090ff
mov edi, ebx
jmp 0x409116
add esi, esi
mov eax, esi
call fcn.00448470
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.00408ffb
mov edi, eax
push 2
pop esi
mov eax, dword [ebp - 8]
add eax, 0x214
mov dword [ebp - 8], eax
je 0x409144
mov ecx, eax
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, bx
jne 0x40912b
sub ecx, edx
sar ecx, 1
lea esi, [ecx + 1]
cmp esi, 0x3fffffff
jle 0x409148
mov eax, ebx
jmp 0x40915f
add esi, esi
mov eax, esi
call fcn.00448470
mov eax, esp
push 3
push esi
push dword [ebp - 8]
push eax
call fcn.00408ffb
mov esi, dword [ebp + 0x10]
push edi
push esi
push dword [ebp + 0xc]
push ebx
push dword [ebp + 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jg 0x40926c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.CGetIniProfile::GetProfileStrA_error____x_
push ebx
push 2
pop edi
push edi
push str...crypttool_verify4orion.cpp
push 0x3e
call fcn.0042ab69
xor ecx, ecx
mov eax, esi
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.004413a2
mov edi, eax
add esp, 0x1c
test edi, edi
je 0x40926c
lea ecx, [esi + esi]
mov eax, edi
test ecx, ecx
je 0x4091c6
mov byte [eax], bl
inc eax
dec ecx
jne 0x4091c0
cmp dword [ebp + 8], 0
je 0x4091e8
mov ecx, dword [ebp + 8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4091d2
sub ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x10], eax
cmp eax, 0x3fffffff
jle 0x4091ec
mov eax, ebx
jmp 0x409203
add eax, eax
call fcn.00448470
mov eax, esp
push 3
push dword [ebp - 0x10]
push dword [ebp + 8]
push eax
call fcn.00408fc3
push dword [ebp - 0xc]
push esi
push edi
push ebx
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov esi, eax
mov dword [ebp - 0xc], esi
test esi, esi
jle 0x409263
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x409221
sub ecx, edx
sar ecx, 1
inc ecx
cmp ecx, 0x3fffffff
jg 0x409254
lea esi, [ecx + ecx]
mov eax, esi
call fcn.00448470
mov eax, esp
push 3
push esi
push edi
push eax
call fcn.00408ffb
mov esi, dword [ebp - 0xc]
mov ebx, eax
push ebx
push dword [ebp + 0x10]
push dword [ebp + 0xc]
call fcn.00443c38
add esp, 0xc
push edi
call fcn.004427e1
pop ecx
mov eax, esi
lea esp, [ebp - 0x1c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00441f6f
mov esp, ebp
pop ebp
ret 0xc