Function at 0x46e317
Capabilities:
Terminate process

Disassembly:
push 0x758
push 0x506988
call fcn.004c6a30
mov edi, dword [ebp + 8]
mov dword [ebp - 0x750], edi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x768], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x75c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x764], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x754], eax
mov esi, dword [ebp + 0x1c]
mov dword [ebp - 0x74c], esi
xor ebx, ebx
mov byte [ebp - 0x748], bl
push 0x1ff
push ebx
lea eax, [ebp - 0x747]
push eax
call fcn.00401f80
add esp, 0xc
mov dword [ebp - 0x760], ebx
cmp esi, ebx
jne 0x46e38f
lea eax, [ebp - 0x760]
mov dword [ebp - 0x74c], eax
mov edx, edi
call fcn.00445b2f
test eax, eax
jne 0x46e76a
xor edi, edi
inc edi
push edi
push 0x6e0
call fcn.00401a3a
pop ecx
pop ecx
mov esi, eax
mov dword [ebp - 0x758], esi
cmp esi, ebx
je 0x46e76a
cmp dword [0x6059c4], ebx
jne 0x46e3d1
mov dword [0x6059c4], edi
call fcn.0046e281
push ebx
push ebx
mov ecx, dword [ebp - 0x754]
call fcn.0046e0b2
pop ecx
pop ecx
mov dword [ebp - 4], ebx
push esi
push ebx
push edi
call dword [sym.imp.ODBC32.dll_SQLAllocHandle]
movzx eax, ax
cmp ax, bx
je 0x46e405
cmp ax, di
je 0x46e405
push esi
call fcn.00401a00
pop ecx
jmp 0x46e763
push ebx
push 3
push 0xc8
push dword [esi]
call dword [sym.imp.ODBC32.dll_SQLSetEnvAttr]
movzx eax, ax
cmp ax, bx
je 0x46e42d
cmp ax, di
je 0x46e42d
push dword [esi]
push edi
call dword [sym.imp.ODBC32.dll_SQLFreeHandle]
jmp 0x46e3f9
lea edi, [esi + 4]
push edi
push dword [esi]
push 2
call dword [sym.imp.ODBC32.dll_SQLAllocHandle]
movzx eax, ax
cmp ax, bx
je 0x46e44f
cmp ax, 1
je 0x46e44f
push dword [esi]
push 1
jmp 0x46e425
push ebx
push 0xa
push 0x67
push dword [edi]
call dword [sym.imp.ODBC32.dll_SQLSetConnectAttr]
push dword [ebp - 0x750]
lea eax, [esi + 0x410]
mov ecx, 0x104
call fcn.00444961
pop ecx
lea eax, [esi + 0x408]
push ebx
push eax
push 0x3ff
lea eax, [esi + 8]
push eax
push 0xfffffffffffffffd
lea eax, [ebp - 0x748]
push eax
push ebx
push dword [edi]
call dword [sym.imp.ODBC32.dll_SQLDriverConnect]
movzx eax, ax
movsx ecx, word [esi + 0x408]
mov byte [ecx + esi + 8], bl
cmp ax, bx
je 0x46e657
cmp ax, 1
je 0x46e657
push dword [edi]
push 2
mov edi, dword [sym.imp.ODBC32.dll_SQLFreeHandle]
call edi
push dword [esi]
push 1
call edi
push esi
call fcn.00401a00
pop ecx
cmp dword [0x6059d0], ebx
jne 0x46e54c
xor esi, esi
inc esi
mov dword [0x6059d0], esi
push esi
push ebx
push 2
pop ecx
call fcn.0046e0b2
pop ecx
pop ecx
mov dword [0x6059c8], esi
push str.Data_source_name_not_found
call fcn.0046d818
push eax
call fcn.004454c3
pop ecx
pop ecx
test eax, eax
je 0x46e514
call fcn.0046d748
mov dword [0x6059cc], esi
push dword [ebp - 0x74c]
push dword [ebp - 0x754]
push dword [ebp - 0x764]
push dword [ebp - 0x75c]
push dword [ebp - 0x768]
push dword [ebp - 0x750]
call fcn.0046e317
add esp, 0x18
mov dword [ebp - 4], 0xfffffffe
jmp 0x46e76c
mov byte [ebp - 0x128], bl
mov esi, 0x103
push esi
push ebx
lea eax, [ebp - 0x127]
push eax
call fcn.00401f80
add esp, 0xc
mov byte [ebp - 0x230], bl
push esi
push ebx
lea eax, [ebp - 0x22f]
push eax
call fcn.00401f80
add esp, 0xc
mov byte [ebp - 0x440], bl
push esi
push ebx
lea eax, [ebp - 0x43f]
push eax
call fcn.00401f80
add esp, 0xc
mov byte [ebp - 0x338], bl
push esi
push ebx
lea eax, [ebp - 0x337]
push eax
call fcn.00401f80
add esp, 0xc
mov byte [ebp - 0x548], bl
push esi
push ebx
lea eax, [ebp - 0x547]
push eax
call fcn.00401f80
add esp, 0xc
lea eax, [ebp - 0x128]
push eax
mov esi, str.SoftwareODBCODBCINST.INISQL_Server
push esi
mov eax, str.Driver
call fcn.004acdf0
lea eax, [ebp - 0x230]
push eax
push esi
mov edi, str.Setup
mov eax, edi
call fcn.004acdf0
lea eax, [ebp - 0x548]
push eax
push esi
mov eax, str.DriverODBCVer
call fcn.004acdf0
lea eax, [ebp - 0x440]
push eax
mov esi, str.SoftwareODBCODBCINST.INISQL_Anywhere_10p
push esi
mov eax, str.Driver
call fcn.004acdf0
lea eax, [ebp - 0x338]
push eax
push esi
mov eax, edi
call fcn.004acdf0
add esp, 0x28
mov dword [0x6059c8], ebx
cmp dword [0x6059cc], ebx
je 0x46e763
push 1
push str.NeedAdminLogin.flg
push ebx
call fcn.004623aa
pop ecx
pop ecx
mov ecx, eax
call fcn.004a2f4b
jmp 0x46e3ff
cmp dword [0x6059c8], ebx
je 0x46e665
mov dword [0x6059c8], ebx
mov dword [0x6059cc], ebx
push str.NeedAdminLogin.flg
push ebx
call fcn.004623aa
pop ecx
pop ecx
mov edi, eax
call fcn.004a142a
test eax, eax
je 0x46e695
push str.NeedAdminLogin.flg
push ebx
call fcn.004623aa
pop ecx
pop ecx
call fcn.004a14db
lea edi, [esi + 0x40c]
push edi
push dword [esi + 4]
push 3
call dword [sym.imp.ODBC32.dll_SQLAllocHandle]
mov eax, dword [0x6059bc]
cmp eax, ebx
jne 0x46e6ba
call fcn.0045052b
mov dword [0x6059bc], eax
push esi
mov ebx, eax
call fcn.004504da
pop ecx
mov eax, dword [0x6059bc]
test eax, eax
jne 0x46e6f3
push dword [edi]
push 3
mov edi, dword [sym.imp.ODBC32.dll_SQLFreeHandle]
call edi
push dword [esi + 4]
call dword [sym.imp.ODBC32.dll_SQLDisconnect]
push dword [esi + 4]
push 2
call edi
push dword [esi]
push 1
call edi
jmp 0x46e3f9
mov edi, eax
call fcn.0045039f
mov dword [ebp - 4], 0xfffffffe
mov eax, 0x10000
mov dword [esi + 0x6dc], eax
push eax
call fcn.004028f8
pop ecx
mov dword [esi + 0x6d8], eax
call fcn.004449db
lea edi, [esi + 0x514]
push str.ODBC.c
push edi
call fcn.0049d62a
pop ecx
pop ecx
mov esi, str.An_ODBC_handle_had_to_be_forced_to_unlock___
mov eax, edi
call fcn.0049d4b5
mov eax, 0xdac
mov ecx, edi
call fcn.0049d4a2
mov eax, dword [ebp - 0x758]
call fcn.0046d7f0
mov eax, dword [ebp - 0x758]
jmp 0x46e76c
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
call fcn.004c6a78
ret