Function at 0x10001290
Capabilities:
Read .ini file

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0xa0
and eax, 0xffff
push ebx
push ebp
push esi
sub eax, 0x110
push edi
je 0x100016d0
dec eax
jne 0x100016a7
mov ebx, dword [esp + 0xbc]
mov ecx, ebx
shr ecx, 0x10
cmp cx, 1
jne 0x1000156d
and ebx, 0xffff
cmp ebx, 0x3ea
jne 0x10001405
mov esi, dword [esp + 0xb4]
lea eax, [esp + 0x10]
push eax
push ebx
push esi
call fcn.10001240
add esp, 0xc
test eax, eax
je 0x100019cb
mov ebx, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
lea ecx, [esp + 0x10]
push 0x10003278
push ecx
call ebx
test eax, eax
jne 0x100019cb
lea edx, [esp + 0x10]
push edx
push 0x3f7
push esi
call fcn.10001240
add esp, 0xc
test eax, eax
je 0x1000133c
lea eax, [esp + 0x10]
push str.Dynamic
push eax
call ebx
test eax, eax
je 0x10001368
mov edi, dword [sym.imp.USER32.dll_GetDlgItemTextA]
lea ecx, [esp + 0x10]
push 0x80
push ecx
push 0x3f7
push esi
call edi
test eax, eax
je 0x10001376
lea edx, [esp + 0x10]
push str.Dynamic
push edx
call ebx
test eax, eax
jne 0x10001376
push 0
push str.Setup_Error
push str.Dynamic_cursor_is_not_support_in_Read_Committed_mode
jmp 0x100013d7
lea eax, [esp + 0x10]
push eax
push 0x3f7
push esi
call fcn.10001240
add esp, 0xc
test eax, eax
je 0x1000139d
lea ecx, [esp + 0x10]
push str.Keyset_Driven
push ecx
call ebx
test eax, eax
je 0x100013cb
lea edx, [esp + 0x10]
push 0x80
push edx
push 0x3f7
push esi
call edi
test eax, eax
je 0x100019cb
lea eax, [esp + 0x10]
push str.Keyset_Driven
push eax
call ebx
test eax, eax
jne 0x100019cb
push 0
push str.Setup_Error
push str.Keyset_Driven_cursor_is_not_support_in_Read_Committed_mode
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 1
push 0x14e
push 0x3ea
push esi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 0x10
cmp ebx, 0x3f7
jne 0x100019cb
mov esi, dword [esp + 0xb4]
lea ecx, [esp + 0x10]
push ecx
push ebx
push esi
call fcn.10001240
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiA]
add esp, 0xc
test eax, eax
je 0x100014ab
lea edx, [esp + 0x10]
push str.Dynamic
push edx
call edi
test eax, eax
jne 0x100014ab
lea eax, [esp + 0x10]
push eax
push 0x3ea
push esi
call fcn.10001240
add esp, 0xc
test eax, eax
je 0x10001468
lea ecx, [esp + 0x10]
push 0x10003278
push ecx
call edi
test eax, eax
je 0x1000149a
lea edx, [esp + 0x10]
push 0x80
push edx
push 0x3ea
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
test eax, eax
je 0x100019cb
lea eax, [esp + 0x10]
push 0x10003278
push eax
call edi
test eax, eax
jne 0x100019cb
push 0
push str.Setup_Error
push str.Dynamic_cursor_is_not_supported_in_Read_Committed_mode
jmp 0x1000153f
lea ecx, [esp + 0x10]
push ecx
push 0x3f7
push esi
call fcn.10001240
add esp, 0xc
test eax, eax
je 0x100019cb
lea edx, [esp + 0x10]
push str.Keyset_Driven
push edx
call edi
test eax, eax
jne 0x100019cb
lea eax, [esp + 0x10]
push eax
push 0x3ea
push esi
call fcn.10001240
add esp, 0xc
test eax, eax
je 0x10001501
lea ecx, [esp + 0x10]
push 0x10003278
push ecx
call edi
test eax, eax
je 0x10001533
lea edx, [esp + 0x10]
push 0x80
push edx
push 0x3ea
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
test eax, eax
je 0x100019cb
lea eax, [esp + 0x10]
push 0x10003278
push eax
call edi
test eax, eax
jne 0x100019cb
push 0
push str.Setup_Error
push str.Keyset_Driven_cursor_is_not_supported_in_Read_Committed_mode
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
push 0
push 3
push 0x14e
push 0x3f7
push esi
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 0x10
mov esi, dword [esp + 0xb4]
mov eax, ebx
and eax, 0xffff
dec eax
je 0x100015cf
dec eax
je 0x100016b6
sub eax, 0xa
jne 0x100016a7
cmp cx, 0x300
jne 0x100016a7
lea ecx, [esp + 0x90]
push 0x20
push ecx
push 0xc
push esi
call dword [sym.imp.USER32.dll_GetDlgItemTextA]
push eax
push 1
push esi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 0x10
push 8
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov dword [0x100042c4], eax
mov ecx, dword [eax + 0x748]
test ecx, ecx
jne 0x1000169c
mov edi, dword [sym.imp.USER32.dll_GetDlgItemTextA]
add eax, 0xc
push 0x100
push eax
push 0xc
push esi
call edi
mov edx, dword [0x100042c4]
push 0x100
add edx, 0x110
push edx
push 0x3ee
push esi
call edi
mov eax, dword [0x100042c4]
push 0x100
add eax, 0x214
push eax
push 0x3ed
push esi
call edi
mov ecx, dword [0x100042c4]
push 0x100
add ecx, 0x318
push ecx
push 0x3f1
push esi
call edi
mov edx, dword [0x100042c4]
push 0x100
add edx, 0x41c
push edx
push 0x3ea
push esi
call edi
mov eax, dword [0x100042c4]
push 0x100
add eax, 0x520
push eax
push 0x3f5
push esi
call edi
mov ecx, dword [0x100042c4]
push 0x100
add ecx, 0x624
push ecx
push 0x3f7
push esi
call edi
mov eax, dword [0x100042c4]
push eax
push esi
call fcn.10001ad0
test eax, eax
jne 0x100016b6
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 0x10
push ebx
push esi
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 0x10
mov edi, dword [esp + 0xc0]
mov esi, dword [esp + 0xb4]
push edi
push 8
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push esi
call fcn.10001130
mov ebx, dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov dword [0x100042c4], edi
add edi, 0xc
push edi
push 0xc
push esi
call ebx
mov edx, dword [0x100042c4]
mov ebp, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
push str.ODBC.INI
add edx, 0x110
push 0x100
push edx
push 0
push str.Description
push edi
call ebp
mov eax, dword [0x100042c4]
push str.ODBC.INI
add eax, 0x214
push 0x100
push eax
push 0
push str.DataDirectory
push edi
call ebp
mov ecx, dword [0x100042c4]
push str.ODBC.INI
add ecx, 0x318
push 0x100
push ecx
push 0
push str.Database
push edi
call ebp
mov edx, dword [0x100042c4]
push str.ODBC.INI
add edx, 0x41c
push 0x100
push edx
push 0x10003278
push str.IsolationLevel
push edi
call ebp
mov eax, dword [0x100042c4]
push str.ODBC.INI
add eax, 0x520
push 0x100
push eax
push 0
push str.Autocommit
push edi
call ebp
mov ecx, dword [0x100042c4]
push str.ODBC.INI
add ecx, 0x624
push 0x100
push ecx
push str.Static
push str.CursorType
push edi
call ebp
mov edx, dword [0x100042c4]
add edx, 0x110
push edx
push 0x3ee
push esi
call ebx
mov eax, dword [0x100042c4]
add eax, 0x214
push eax
push 0x3ed
push esi
call ebx
mov ecx, dword [0x100042c4]
add ecx, 0x318
push ecx
push 0x3f1
push esi
call ebx
mov edx, dword [0x100042c4]
add edx, 0x41c
push edx
push 0x3ea
push esi
call ebx
mov eax, dword [0x100042c4]
add eax, 0x520
push eax
push 0x3f5
push esi
call ebx
mov ecx, dword [0x100042c4]
add ecx, 0x624
push ecx
push 0x3f7
push esi
call ebx
mov edi, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
push 0x10003278
push 0
push 0x143
push 0x3ea
push esi
call edi
push 0x10003150
push 0
push 0x143
push 0x3ea
push esi
call edi
push 0x10003140
push 0
push 0x143
push 0x3ea
push esi
call edi
push str.Single_User
push 0
push 0x143
push 0x3ea
push esi
call edi
push 0x10003130
push 0
push 0x143
push 0x3f5
push esi
call edi
push 0x1000312c
push 0
push 0x143
push 0x3f5
push esi
call edi
push str.Forward_Only
push 0
push 0x143
push 0x3f7
push esi
call edi
push str.Dynamic
push 0
push 0x143
push 0x3f7
push esi
call edi
push str.Keyset_Driven
push 0
push 0x143
push 0x3f7
push esi
call edi
push str.Static
push 0
push 0x143
push 0x3f7
push esi
call edi
mov edx, dword [0x100042c4]
push 0
mov eax, dword [edx + 0x748]
test eax, eax
je 0x1000195b
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0xc
push esi
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
push eax
call ebx
push 0
push 0x10
push esi
call edi
push eax
call ebx
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa0
ret 0x10
push 0x1f
push 0xc5
push 0xc
push esi
call edi
push 0
push 0xff
push 0xc5
push 0x3ed
push esi
call edi
push 0
push 0xff
push 0xc5
push 0x3ee
push esi
call edi
push 0
push 0xff
push 0xc5
push 0x3ea
push esi
call edi
push 0
push 0xff
push 0xc5
push 0x3f5
push esi
call edi
push 0
push 0xff
push 0xc5
push 0x3f7
push esi
call edi
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xa0
ret 0x10