Function at 0x40169d
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffff80c
push ebx
push esi
push edi
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov eax, 0x40f264
call fcn.0040d970
push dword [ebx]
call fcn.004013df
pop ecx
mov dword [0x411314], eax
test eax, eax
jne 0x4016f3
push 0
push 0x10
push 0x40f3a9
push str.Cannot_find_language_specific_resource_file
push 0
call sub.USER32.dll_MessageBoxExA
xor eax, eax
mov edx, dword [ebp - 0xe4]
mov dword fs:[0], edx
jmp 0x401c08
push 0
push 0x411325
lea ecx, [ebp - 0x6f4]
push ecx
lea eax, [ebp - 0xea]
push eax
push dword [ebx]
call sub.cw3230mt.DLL__fnsplit
add esp, 0x14
push 0x40f3b8
push 0x40f3b1
lea edx, [ebp - 0x6f4]
push edx
lea ecx, [ebp - 0xea]
push ecx
lea eax, [ebp - 0x5f4]
push eax
call sub.cw3230mt.DLL__fnmerge
add esp, 0x14
mov word [ebp - 0xd4], 8
lea edx, [ebp - 0x5f4]
push edx
lea ecx, [ebp - 0x10]
push ecx
call fcn.0040c954
add esp, 8
inc dword [ebp - 0xc8]
mov word [ebp - 0xd4], 0x14
cmp esi, 1
jne 0x401859
push dword [ebp - 0xc]
push 0x100
lea eax, [ebp - 0x1ec]
push eax
push 0x40f360
push str.LastProject
push str.General
call sub.KERNEL32.dll_GetPrivateProfileStringA
push 0x5c
lea edx, [ebp - 0x1ec]
push edx
call sub.cw3230mt.DLL__strchr_qpci
add esp, 8
test eax, eax
jne 0x401a27
lea ecx, [ebp - 0xea]
push ecx
lea eax, [ebp - 0xe7]
push eax
call sub.cw3230mt.DLL__strcpy
add esp, 8
lea edx, [ebp - 0x6f4]
push edx
lea ecx, [ebp - 0x2f0]
push ecx
call sub.cw3230mt.DLL__strcpy
add esp, 8
push 0x40f3d0
lea eax, [ebp - 0x2f0]
push eax
call sub.cw3230mt.DLL__strcat
add esp, 8
lea edx, [ebp - 0x1ec]
push edx
lea ecx, [ebp - 0x2f0]
push ecx
call sub.cw3230mt.DLL__strcat
add esp, 8
lea eax, [ebp - 0x1ec]
push eax
lea edx, [ebp - 0x3f0]
push edx
call sub.cw3230mt.DLL__strcpy
add esp, 8
push 0x40f3da
lea ecx, [ebp - 0x4f0]
push ecx
call sub.cw3230mt.DLL__strcpy
add esp, 8
lea eax, [ebp - 0x4f0]
push eax
lea edx, [ebp - 0x3f0]
push edx
lea ecx, [ebp - 0x2f0]
push ecx
lea eax, [ebp - 0xe7]
push eax
lea edx, [ebp - 0x1ec]
push edx
call sub.cw3230mt.DLL__fnmerge
add esp, 0x14
jmp 0x401a27
mov ecx, dword [ebx + 4]
movsx eax, byte [ecx]
cmp eax, 0x2f
je 0x401873
mov edx, dword [ebx + 4]
movsx ecx, byte [edx]
cmp ecx, 0x2d
jne 0x40195b
mov eax, dword [ebx + 4]
movsx edx, byte [eax + 1]
cmp edx, 0x50
jne 0x40189b
cmp esi, 2
jle 0x40189b
push dword [ebx + 8]
lea ecx, [ebp - 0x1ec]
push ecx
call sub.cw3230mt.DLL__strcpy
add esp, 8
jmp 0x401a27
mov eax, dword [ebx + 4]
movsx edx, byte [eax + 1]
cmp edx, 0x70
jne 0x401a27
lea ecx, [ebp - 0xea]
push ecx
lea eax, [ebp - 0xe7]
push eax
call sub.cw3230mt.DLL__strcpy
add esp, 8
lea edx, [ebp - 0x6f4]
push edx
lea ecx, [ebp - 0x2f0]
push ecx
call sub.cw3230mt.DLL__strcpy
add esp, 8
push 0x40f3de
lea eax, [ebp - 0x2f0]
push eax
call sub.cw3230mt.DLL__strcat
add esp, 8
mov edx, dword [ebx + 4]
add edx, 2
push edx
lea ecx, [ebp - 0x2f0]
push ecx
call sub.cw3230mt.DLL__strcat
add esp, 8
mov eax, dword [ebx + 4]
add eax, 2
push eax
lea edx, [ebp - 0x3f0]
push edx
call sub.cw3230mt.DLL__strcpy
add esp, 8
push 0x40f3e8
lea ecx, [ebp - 0x4f0]
push ecx
call sub.cw3230mt.DLL__strcpy
add esp, 8
lea eax, [ebp - 0x4f0]
push eax
lea edx, [ebp - 0x3f0]
push edx
lea ecx, [ebp - 0x2f0]
push ecx
lea eax, [ebp - 0xe7]
push eax
lea edx, [ebp - 0x1ec]
push edx
call sub.cw3230mt.DLL__fnmerge
add esp, 0x14
jmp 0x401a27
push 0x5c
push dword [ebx + 4]
call sub.cw3230mt.DLL__strchr_qpci
add esp, 8
test eax, eax
jne 0x401a15
lea ecx, [ebp - 0xea]
push ecx
lea eax, [ebp - 0xe7]
push eax
call sub.cw3230mt.DLL__strcpy
add esp, 8
lea edx, [ebp - 0x6f4]
push edx
lea ecx, [ebp - 0x2f0]
push ecx
call sub.cw3230mt.DLL__strcpy
add esp, 8
push str.projects_
lea eax, [ebp - 0x2f0]
push eax
call sub.cw3230mt.DLL__strcat
add esp, 8
push dword [ebx + 4]
lea edx, [ebp - 0x2f0]
push edx
call sub.cw3230mt.DLL__strcat
add esp, 8
push dword [ebx + 4]
lea ecx, [ebp - 0x3f0]
push ecx
call sub.cw3230mt.DLL__strcpy
add esp, 8
push 0x40f3f6
lea eax, [ebp - 0x4f0]
push eax
call sub.cw3230mt.DLL__strcpy
add esp, 8
lea edx, [ebp - 0x4f0]
push edx
lea ecx, [ebp - 0x3f0]
push ecx
lea eax, [ebp - 0x2f0]
push eax
lea edx, [ebp - 0xe7]
push edx
lea ecx, [ebp - 0x1ec]
push ecx
call sub.cw3230mt.DLL__fnmerge
add esp, 0x14
jmp 0x401a27
push dword [ebx + 4]
lea eax, [ebp - 0x1ec]
push eax
call sub.cw3230mt.DLL__strcpy
add esp, 8
push 0
lea edx, [ebp - 0x3f0]
push edx
push 0
push 0
lea ecx, [ebp - 0x1ec]
push ecx
call sub.cw3230mt.DLL__fnsplit
add esp, 0x14
push 0x40f3fa
push 0x411325
call sub.cw3230mt.DLL__strcat
add esp, 8
lea eax, [ebp - 0x3f0]
push eax
push 0x411325
call sub.cw3230mt.DLL__strcat
add esp, 8
push 0
lea edx, [ebp - 0x1ec]
push edx
call sub.geo32.dll_CreateFileGeodesy
mov dword [0x411318], eax
test eax, eax
jne 0x401ae4
push 0x100
lea edx, [ebp - 0x7f4]
push edx
call sub.geo32.dll_GetGeodesyError
add eax, 0x64
push eax
push dword [0x411314]
call sub.OWL52t.dll__TModule_LoadStringA_xquipci
add esp, 0x10
push 0
push 0x10
push 0x411325
lea ecx, [ebp - 0x7f4]
push ecx
push 0
call sub.USER32.dll_MessageBoxExA
xor eax, eax
push eax
dec dword [ebp - 0xc8]
push 2
lea edx, [ebp - 0x10]
push edx
call fcn.0040ca8d
add esp, 8
pop eax
mov edx, dword [ebp - 0xe4]
mov dword fs:[0], edx
jmp 0x401c08
lea ecx, [ebp - 0x1ec]
push ecx
push 0x41131c
call fcn.0040cac6
add esp, 8
mov word [ebp - 0xd4], 0x20
mov word [ebp - 0xd4], 0x2c
push 0
lea eax, [ebp - 0xbc]
push eax
call fcn.00401108
add esp, 8
add dword [ebp - 0xc8], 9
push eax
mov edx, dword [eax + 0x56]
call dword [edx + 8]
pop ecx
sub dword [ebp - 0xc8], 9
add dword [ebp - 0xc8], 9
sub dword [ebp - 0xc8], 8
push 0
lea ecx, [ebp - 0xbc]
push ecx
call sub.OWL52t.dll__TApplication__bdtr_qv
add esp, 8
mov word [ebp - 0xd4], 0x14
jmp 0x401ba1
push dword [0x411318]
call sub.geo32.dll_DestroyGeodesy
mov edx, dword [0x411314]
mov dword [ebp - 0xc0], edx
cmp dword [ebp - 0xc0], 0
je 0x401be3
mov word [ebp - 0xd4], 0x44
push 3
mov ecx, dword [ebp - 0xc0]
push ecx
mov eax, dword [ecx]
call dword [eax]
add esp, 8
mov word [ebp - 0xd4], 0x38
xor eax, eax
push eax
dec dword [ebp - 0xc8]
push 2
lea edx, [ebp - 0x10]
push edx
call fcn.0040ca8d
add esp, 8
pop eax
mov edx, dword [ebp - 0xe4]
mov dword fs:[0], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret