Function at 0x488ad0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x27c
mov eax, dword [0x65ada4]
xor eax, esp
mov dword [esp + 0x278], eax
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edx, edx
lea edi, [esi + 0x18313]
mov eax, edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], edx
mov cl, byte [eax]
xor ebp, ebp
xor bl, bl
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x2c], edx
cmp cl, 0x3a
je 0x488b2e
test cl, cl
je 0x488b29
inc eax
mov dword [esp + 0x20], eax
mov cl, byte [eax]
cmp cl, 0x3a
jne 0x488b17
jmp 0x488b2e
cmp byte [eax], 0x3a
jne 0x488b3b
mov byte [eax], dl
mov ebp, dword [esp + 0x20]
inc ebp
mov dword [esp + 0x24], ebp
mov bl, 1
mov dword [esp + 0x20], edi
cmp ebp, edx
jne 0x488b80
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x488b48
sub eax, edx
cmp byte [esi + eax + 0x18313], 0x2e
lea ebp, [esi + eax + 0x18313]
je 0x488b77
cmp ebp, edi
je 0x488b6d
dec ebp
cmp byte [ebp], 0x2e
jne 0x488b62
cmp byte [ebp], 0x2e
jne 0x488d03
mov byte [ebp], 0
inc ebp
mov dword [esp + 0x24], ebp
lea eax, [esp + 0x20]
push eax
push 1
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x24]
push edx
push fcn.00472210
push 0
push str.SELECT_rkey_owner_rtype_FROM____sysexternal__WHERE_rname_
call fcn.0050dfb0
mov esi, eax
add esp, 0x1c
test esi, esi
je 0x488bb8
mov dword [esp + 0x18], 0
jmp 0x4893ec
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x488c1b
movzx ecx, word [eax]
cmp cx, word [eax + 2]
jne 0x488bcd
xor ecx, ecx
jmp 0x488bd2
movsx ecx, cx
add ecx, eax
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
movzx ecx, word [eax + 2]
movzx edx, word [eax + 4]
cmp cx, dx
jne 0x488be9
xor ecx, ecx
jmp 0x488bee
movsx ecx, cx
add ecx, eax
mov ecx, dword [ecx]
mov dword [esp + 0x84], ecx
cmp dx, word [eax + 6]
jne 0x488c0a
xor ecx, ecx
mov dl, byte [ecx]
mov byte [esp + 0x17], dl
jmp 0x488d32
movsx ecx, dx
mov dl, byte [ecx + eax]
add ecx, eax
mov byte [esp + 0x17], dl
jmp 0x488d32
mov esi, dword [sym.imp.MSVCR90.dll_strncmp]
push 5
push str.java.
push edi
call esi
add esp, 0xc
test eax, eax
je 0x488c9b
push 0xe
push str.com.sun.tools.
push edi
call esi
add esp, 0xc
test eax, eax
je 0x488c9b
push 0xa
push str.transbase.
push edi
call esi
add esp, 0xc
test eax, eax
je 0x488c9b
test bl, bl
jne 0x488c9b
mov eax, dword [esp + 0x18]
test eax, eax
je 0x488c69
push eax
call fcn.0050dec0
add esp, 4
mov ecx, dword [esp + 0x10]
movzx edx, byte [ecx + 0x184f8]
lea eax, [esp + 0x84]
push eax
push edx
call fcn.00461570
push eax
push edi
push 0x7dd
push 0x40db
call fcn.00406f10
add esp, 0x18
jmp 0x48945b
mov esi, dword [str.public]
mov ecx, 0x5acad0
lea eax, [esi + 0x80]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x488cd0
test dl, dl
je 0x488ccc
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x488cd0
add eax, 2
add ecx, 2
test dl, dl
jne 0x488cb0
xor eax, eax
jmp 0x488cd5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x488d99
mov dword [esp + 0x30], 0xfffffffe
test bl, bl
je 0x488d2c
mov al, byte [ebp]
mov ecx, ebp
cmp al, 0x2e
je 0x488cfe
test al, al
je 0x488d03
mov al, byte [ecx + 1]
inc ecx
cmp al, 0x2e
jne 0x488cf2
cmp byte [ecx], 0
jne 0x488d32
mov eax, dword [esp + 0x18]
test eax, eax
je 0x488d14
push eax
call fcn.0050dec0
add esp, 4
push edi
push 0x7dd
push 0x1fe6
call fcn.00406f10
add esp, 0xc
jmp 0x48945b
mov ebp, edi
mov dword [esp + 0x24], ebp
mov eax, dword [esp + 0x18]
push eax
call fcn.0050dec0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4893ec
mov esi, dword [str.public]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x18], eax
cmp dword [esi + 0x120], ecx
je 0x488dcf
mov ecx, 0x5acad0
lea eax, [esi + 0x80]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x488d90
test dl, dl
je 0x488d8c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x488d90
add eax, 2
add ecx, 2
test dl, dl
jne 0x488d70
xor eax, eax
jmp 0x488d95
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x488dcf
mov edx, dword [esp + 0x10]
cmp dword [edx + 0x1a], 0x7e
mov eax, str.create_function
je 0x488dad
mov eax, str.create_procedure
mov ecx, edx
add ecx, 0x18394
push ecx
push eax
push esi
push 0x7dd
push 0x1f69
call fcn.00406f10
add esp, 0x14
jmp 0x48945b
cmp byte [esp + 0x17], 3
jne 0x488fc7
mov edi, dword [esp + 0x10]
mov al, byte [edi + 0x184f7]
lea ebx, [edi + 0x1845a]
lea esi, [edi + 0x1849c]
cmp al, 2
jne 0x488e10
push str.Procedures_in_external_libraries._nTry_functions_or_Java_procedures_instead.
push 0x7dd
push 0x2b3f
call fcn.00406f10
add esp, 0xc
jmp 0x48945b
cmp al, 3
jne 0x488e40
cmp dword [edi + 0x184e1], 0
je 0x488e24
push str.Table_functions_in_external_libraries._nTry_generic_table_functions_or_Java_table_functions_instead.
jmp 0x488df9
mov eax, ebp
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x488e27
mov edx, dword [str.Next]
mov dword [eax], edx
mov cl, byte [0x5ad7cc]
mov byte [eax + 4], cl
mov al, byte [edi + 0x18419]
lea ecx, [edi + 0x18419]
test al, al
je 0x488e68
cmp al, 0x4d
je 0x488ee4
cmp al, 0x52
je 0x488ee4
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x488e50
mov al, byte [edi + 0x184fe]
mov cl, 0x6a
cmp al, cl
je 0x488f9a
cmp byte [edi + 0x184ff], cl
je 0x488f96
cmp dword [edi + 0x184e7], 0
jne 0x488f96
cmp dword [edi + 0x184eb], 0
jne 0x488f96
mov dl, byte [ebx]
mov eax, dword [esp + 0x10]
mov edi, dword [sym.imp.MSVCR90.dll_toupper]
mov ebp, dword [sym.imp.MSVCR90.dll_tolower]
mov al, byte [eax + 0x184e5]
inc ebx
cmp dl, 0x52
jne 0x488ef3
test al, al
js 0x488f1b
movsx ecx, al
push ecx
call dword [sym.imp.MSVCR90.dll_isupper]
add esp, 4
test eax, eax
je 0x488f1b
mov edx, dword [esp + 0x10]
movsx eax, byte [edx + 0x184e5]
push eax
call ebp
add esp, 4
jmp 0x488f26
push str.INSTANCE_parameters
push str.C_resource
jmp 0x489449
test al, al
js 0x488f1b
movsx ecx, al
push ecx
call dword [sym.imp.MSVCR90.dll_islower]
add esp, 4
test eax, eax
je 0x488f1b
mov edx, dword [esp + 0x10]
movsx eax, byte [edx + 0x184e5]
push eax
call edi
add esp, 4
jmp 0x488f26
mov ecx, dword [esp + 0x10]
movsx eax, byte [ecx + 0x184e5]
mov edx, dword [esp + 0x10]
mov byte [edx + 0x184e5], al
cmp byte [esi], 0
je 0x488ff4
lea esp, [esp]
mov al, byte [ebx]
inc ebx
cmp al, 0x52
mov al, byte [esi]
jne 0x488f69
test al, al
js 0x488f89
movsx ecx, al
push ecx
call dword [sym.imp.MSVCR90.dll_isupper]
add esp, 4
test eax, eax
je 0x488f89
movsx edx, byte [esi]
push edx
call ebp
add esp, 4
jmp 0x488f8c
test al, al
js 0x488f89
movsx eax, al
push eax
call dword [sym.imp.MSVCR90.dll_islower]
add esp, 4
test eax, eax
je 0x488f89
movsx ecx, byte [esi]
push ecx
call edi
add esp, 4
jmp 0x488f8c
movsx eax, byte [esi]
mov byte [esi], al
inc esi
cmp byte [esi], 0
jne 0x488f40
jmp 0x488ff4
cmp al, cl
jne 0x488faa
mov eax, str.LANGUAGE_JAVA
push eax
push str.C_resource
jmp 0x489449
mov eax, str.PARAMETER_STYLE_JAVA
cmp byte [edi + 0x184ff], cl
je 0x488fbc
mov eax, str.JavaSignature
push eax
push str.C_resource
jmp 0x489449
mov edx, dword [esp + 0x10]
mov al, byte [edx + 0x184fe]
mov cl, 0x63
cmp al, cl
je 0x48942a
cmp byte [edx + 0x184ff], cl
je 0x489426
cmp byte [edx + 0x184fd], 0
jne 0x489426
lea eax, [esp + 0x38]
push eax
push 1
lea edx, [esp + 0x38]
lea ecx, [esp + 0x24]
push ecx
mov dword [esp + 0x44], edx
lea edx, [esp + 0x24]
push edx
push fcn.00472210
xor edi, edi
push edi
push str.SELECT_MAX_mkey_1_sqlname_sqlsig_FROM____sysexternalmethod__WHERE_rkey_
call fcn.0050dfb0
mov esi, eax
add esp, 0x1c
cmp esi, edi
je 0x489031
mov dword [esp + 0x18], edi
jmp 0x4893ec
mov esi, dword [esp + 0x1c]
cmp esi, edi
jne 0x4890b4
mov dword [esp + 0x34], edi
mov edx, dword [esp + 0x18]
push edx
call fcn.0050dec0
mov esi, eax
add esp, 4
test esi, esi
jne 0x4893ec
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x10]
add eax, 0x6e8
mov dword [esp + 0x84], eax
cmp dword [eax], esi
je 0x48929d
mov eax, dword [esp + 0x10]
mov cl, byte [eax + 0x184f7]
xor ebx, ebx
mov byte [esp + 0x17], cl
cmp cl, 3
jne 0x4891b6
mov eax, dword [eax + 0x184e1]
test eax, eax
je 0x4891ae
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4890a0
sub eax, edx
mov edi, eax
mov dword [esp + 0x28], edi
jmp 0x4891cf
movzx eax, word [esi]
cmp ax, word [esi + 2]
jne 0x4890c1
xor eax, eax
jmp 0x4890c4
cwde
add eax, esi
mov eax, dword [eax]
mov ebx, dword [esp + 0x10]
mov ebp, dword [sym.imp.MSVCR90.dll__stricmp]
mov dword [esp + 0x34], eax
add ebx, 0x18394
lea ebx, [ebx]
movzx eax, word [esi + 2]
movzx edi, word [esi + 4]
cmp ax, di
jne 0x4890f1
xor ecx, ecx
jmp 0x4890f6
movsx ecx, ax
add ecx, esi
mov eax, ebx
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489118
test dl, dl
je 0x489114
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489118
add eax, 2
add ecx, 2
test dl, dl
jne 0x4890f8
xor eax, eax
jmp 0x48911d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x489141
cmp di, word [esi + 6]
je 0x48912c
movsx eax, di
add eax, esi
mov esi, dword [esp + 0x10]
push eax
lea ecx, [esi + 0x1849c]
push ecx
call ebp
add esp, 8
test eax, eax
je 0x489170
mov eax, dword [esp + 0x18]
push 0
lea edx, [esp + 0x20]
push edx
push eax
call fcn.00490540
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4893ec
mov esi, dword [esp + 0x1c]
test esi, esi
jne 0x4890e0
jmp 0x48903d
mov eax, dword [esp + 0x18]
test eax, eax
je 0x489181
push eax
call fcn.0050dec0
add esp, 4
lea ecx, [esp + 0x8c]
push ecx
add esi, 0x1849c
push esi
call fcn.004614b0
push eax
push ebx
push 0x7dd
push 0x4147
call fcn.00406f10
add esp, 0x18
jmp 0x48945b
xor edi, edi
mov dword [esp + 0x28], edi
jmp 0x4891cf
add eax, 0x1849c
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4891c0
sub eax, edx
mov edi, eax
mov dword [esp + 0x28], eax
xor edx, edx
test edi, edi
jle 0x48929d
mov ebp, dword [esp + 0x84]
cmp byte [esp + 0x17], 3
je 0x4891fa
mov eax, dword [esp + 0x10]
mov al, byte [eax + edx + 0x18419]
cmp al, 0x49
je 0x48920d
cmp al, 0x4d
je 0x48920d
mov eax, dword [ebp]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489200
sub eax, esi
lea ebx, [ebx + eax + 1]
inc edx
add ebp, 0x16c
cmp edx, edi
jl 0x4891e0
test ebx, ebx
je 0x48929d
inc ebx
push ebx
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
mov dword [esp + 0x2c], eax
mov ebp, eax
test eax, eax
jne 0x489249
push 0x7dd
push 6
call fcn.00406f10
add esp, 8
jmp 0x48945b
mov edi, dword [esp + 0x84]
mov ebx, dword [sym.imp.MSVCR90.dll_sprintf]
mov ecx, dword [esp + 0x10]
xor esi, esi
lea esp, [esp]
cmp byte [ecx + 0x184f7], 3
je 0x489278
mov al, byte [ecx + esi + 0x18419]
cmp al, 0x49
je 0x48928c
cmp al, 0x4d
je 0x48928c
mov ecx, dword [edi]
push ecx
push 0x5ad76c
push ebp
call ebx
mov ecx, dword [esp + 0x1c]
add esp, 0xc
add ebp, eax
inc esi
add edi, 0x16c
cmp esi, dword [esp + 0x28]
jl 0x489260
mov byte [ebp - 1], 0
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x30]
mov dword [esp + 0x38], edx
lea edx, [eax + 0x184fb]
mov dword [esp + 0x40], edx
lea ecx, [esp + 0x34]
mov dword [esp + 0x3c], ecx
lea edx, [eax + 0x18501]
mov dword [esp + 0x48], edx
lea ecx, [eax + 0x18503]
mov dword [esp + 0x44], ecx
lea edx, [eax + 0x184fa]
lea ecx, [eax + 0x184fc]
mov dword [esp + 0x50], edx
mov dword [esp + 0x4c], ecx
lea edx, [eax + 0x18502]
lea ecx, [eax + 0x18500]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
lea edx, [eax + 0x18394]
lea ecx, [eax + 0x184e5]
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0x184e7]
mov dword [esp + 0x5c], ecx
lea ecx, [eax + 0x1849c]
mov byte [eax + 0x11], 1
mov dword [esp + 0x64], ecx
test edx, edx
je 0x489337
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489328
sub eax, esi
mov dword [esp + 0x68], edx
jne 0x48933f
mov dword [esp + 0x68], 0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
lea edx, [edi + 0x18419]
mov dword [esp + 0x6c], edx
mov edx, dword [edi + 0x184e1]
xor ebx, ebx
mov dword [esp + 0x70], eax
cmp edx, ebx
je 0x489375
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489366
sub eax, esi
mov dword [esp + 0x74], edx
jne 0x489379
mov dword [esp + 0x74], ebx
mov edx, dword [edi + 0x184eb]
cmp edx, ebx
je 0x489397
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489388
sub eax, esi
mov dword [esp + 0x78], edx
jne 0x48939b
mov dword [esp + 0x78], ebx
mov edx, dword [edi + 0x184ef]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x7c], ecx
cmp edx, ebx
je 0x4893c4
mov eax, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4893b2
sub eax, esi
mov dword [esp + 0x80], edx
jne 0x4893cb
mov dword [esp + 0x80], ebx
lea edx, [esp + 0x38]
push edx
push 0x13
push ebx
push fcn.00472210
push ebx
push str.INSERT_INTO____sysexternalmethod__VALUES_______________________________________NULL_NULL_
call fcn.0050df80
mov esi, eax
add esp, 0x18
cmp esi, ebx
je 0x489422
push 0x7dd
push 0
call fcn.00406f10
mov eax, dword [esp + 0x34]
add esp, 8
test eax, eax
je 0x48940d
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, dword [esp + 0x18]
test eax, eax
je 0x48941e
push eax
call fcn.0050dec0
add esp, 4
mov eax, esi
jmp 0x48945b
xor eax, eax
jmp 0x48945b
cmp al, cl
jne 0x489431
mov eax, str.LANGUAGE_C
jmp 0x489443
mov eax, str.PARAMETER_STYLE_C
cmp byte [edx + 0x184ff], cl
je 0x489443
mov eax, str.BY_VALUE_BY_REFERENCE
push eax
push str.JAVA_resource
push 0x7dd
push 0x1ff1
call fcn.00406f10
add esp, 0x10
mov ecx, dword [esp + 0x288]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00586584
add esp, 0x27c
ret