Function at 0x4c29f0
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x585d98
mov eax, dword fs:[0]
push eax
sub esp, 0x708
mov eax, dword [0x5f8310]
xor eax, ebp
mov dword [ebp - 0x24], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_316]
mov dword [ebp - 4], 0
push 0x104
push 0
lea eax, [ebp - 0x70c]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x12c]
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
push 0x104
lea edx, [ebp - 0x12c]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x12c]
push eax
call sub.MSVCR90.dll_strlen
add esp, 4
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x10]
sub ecx, 1
mov dword [ebp - 0x714], ecx
jmp 0x4c2a9d
mov edx, dword [ebp - 0x714]
sub edx, 1
mov dword [ebp - 0x714], edx
cmp dword [ebp - 0x714], 0
jle 0x4c2acd
mov eax, dword [ebp - 0x714]
movsx ecx, byte [ebp + eax - 0x12c]
cmp ecx, 0x5c
jne 0x4c2abd
jmp 0x4c2acd
mov edx, dword [ebp - 0x714]
mov byte [ebp + edx - 0x12c], 0
jmp 0x4c2a8e
lea eax, [ebp - 0x12c]
push eax
push 0x5a5a08
lea ecx, [ebp - 0x710]
push ecx
call dword [sym.imp.mfc90.dll_Ordinal_2539]
add esp, 0xc
push str.setup.ini
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_945]
lea ecx, [ebp - 0x20]
call sub.mfc90.dll_Ordinal_404
mov byte [ebp - 4], 1
push 0
push 0
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
lea ecx, [ebp - 0x20]
call sub.mfc90.dll_Ordinal_5520
test eax, eax
jne 0x4c2b47
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call sub.mfc90.dll_Ordinal_663
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_601]
jmp 0x4c2dfa
lea ecx, [ebp - 0x20]
call sub.mfc90.dll_Ordinal_1555
push 0x104
push 0
lea edx, [ebp - 0x70c]
push edx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push 0x32
lea eax, [ebp - 0x70c]
push eax
push 0x5a36cf
push 0x5a5a18
push 0x5a5a1c
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x5a5a28
lea ecx, [ebp - 0x70c]
push ecx
call sub.MSVCR90.dll_strcmp
add esp, 8
test eax, eax
jne 0x4c2bb2
mov dword [0x5f877c], 1
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push 0x32
lea edx, [ebp - 0x70c]
push edx
push 0x5a36d3
push str.dataname
push 0x5a5a38
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov ecx, 0x5f889c
call dword [sym.imp.mfc90.dll_Ordinal_3178]
cmp eax, 1
jge 0x4c2c07
lea eax, [ebp - 0x70c]
push eax
push 0x5a5a44
push 0x5f889c
call dword [sym.imp.mfc90.dll_Ordinal_2539]
add esp, 0xc
push 0x104
push 0
lea ecx, [ebp - 0x70c]
push ecx
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push 0x32
lea edx, [ebp - 0x70c]
push edx
push 0x5a36e7
push str.INSTANCENAME
push 0x5a5a58
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x70c]
push eax
push 0x5a5a64
push 0x5f888c
call dword [sym.imp.mfc90.dll_Ordinal_2539]
add esp, 0xc
push 0x5a5a68
push 0x5f888c
call fcn.004089d0
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x4c2c8b
push str.222.216.30.146_8533
mov ecx, 0x5f888c
call dword [sym.imp.mfc90.dll_Ordinal_820]
push 0x5a5a84
push 0x5f888c
call fcn.004089d0
add esp, 8
movzx edx, al
test edx, edx
je 0x4c2cb4
push str.222.216.30.147_8533
mov ecx, 0x5f888c
call dword [sym.imp.mfc90.dll_Ordinal_820]
push 0x104
push 0
lea eax, [ebp - 0x70c]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push 0x32
lea ecx, [ebp - 0x70c]
push ecx
push 0x5a36f1
push 0x5a5aa0
push 0x5a5aac
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x5a5ab8
lea edx, [ebp - 0x70c]
push edx
call sub.MSVCR90.dll_strcmp
add esp, 8
test eax, eax
jne 0x4c2d17
mov dword [0x5f8798], 1
push 0x104
push 0
lea eax, [ebp - 0x70c]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push 0x5dc
lea ecx, [ebp - 0x70c]
push ecx
push 0x5a36f2
push 0x5a5abc
push 0x5a5acc
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea edx, [ebp - 0x70c]
push edx
push 0x5a5ad8
push 0x5f8890
call dword [sym.imp.mfc90.dll_Ordinal_2539]
add esp, 0xc
push 0x104
push 0
lea eax, [ebp - 0x70c]
push eax
call sub.MSVCR90.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_910]
push eax
push 0x5dc
lea ecx, [ebp - 0x70c]
push ecx
push 0x5a36f3
push 0x5a5adc
push str.ODBC
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push 0x5a5af0
lea edx, [ebp - 0x70c]
push edx
call sub.MSVCR90.dll_strcmp
add esp, 8
test eax, eax
jne 0x4c2ddb
mov dword [0x5f879c], 1
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x20]
call sub.mfc90.dll_Ordinal_663
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x710]
call dword [sym.imp.mfc90.dll_Ordinal_601]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.005795a6
mov esp, ebp
pop ebp
ret