Function at 0x489b90
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0x3e0
mov eax, dword [0x65ada4]
xor eax, esp
mov dword [esp + 0x3dc], eax
push ebx
push ebp
xor eax, eax
push esi
push edi
mov edi, ecx
cmp byte [edi + 0x18313], 0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov byte [esp + 0x13], al
lea eax, [edi + 0x18313]
mov dword [esp + 0x24], edi
mov byte [edi + 0x11], 1
je 0x489e45
mov ebp, eax
mov al, byte [ebp]
cmp al, 0x3a
je 0x489be5
test al, al
je 0x489be5
inc ebp
cmp al, 0x2e
jne 0x489bd5
mov ebx, dword [sym.imp.MSVCR90.dll_strncmp]
push 5
push str.java.
lea esi, [edi + 0x18313]
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x489db5
push 0xe
push str.com.sun.tools.
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x489db5
push 0xa
push str.transbase.
push esi
call ebx
add esp, 0xc
test eax, eax
je 0x489db5
cmp byte [ebp], 0x3a
je 0x489db5
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x489c40
sub eax, edx
cmp byte [eax + edi + 0x18313], 0x2e
lea eax, [eax + edi + 0x18313]
je 0x489c79
lea ebx, [ebx]
lea ecx, [edi + 0x18313]
cmp eax, ecx
je 0x489c70
dec eax
cmp byte [eax], 0x2e
jne 0x489c60
cmp byte [eax], 0x2e
jne 0x489d9d
mov byte [eax], 0
inc eax
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x34]
push eax
push 1
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x94]
push edx
push fcn.00472210
push 0
lea ebx, [edi + 0x18313]
push 0x627c4c
mov dword [esp + 0x50], ebx
call fcn.0050dfb0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x48a4a4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x489d62
movzx ecx, word [eax]
cmp cx, word [eax + 2]
jne 0x489cd6
xor ecx, ecx
jmp 0x489cdb
movsx ecx, cx
add ecx, eax
mov ecx, dword [ecx]
mov dword [esp + 0x28], ecx
movzx ecx, word [eax + 2]
cmp cx, word [eax + 4]
jne 0x489cef
xor ecx, ecx
jmp 0x489cf4
movsx ecx, cx
add ecx, eax
mov edx, dword [esp + 0x88]
mov ebx, dword [ecx]
push edx
call fcn.0050dec0
mov esi, eax
add esp, 4
test esi, esi
jne 0x48a4a4
mov esi, dword [str.public]
cmp dword [esi + 0x120], ebx
je 0x489e45
mov ecx, 0x5acad0
lea eax, [esi + 0x80]
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489d50
test dl, dl
je 0x489d4c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489d50
add eax, 2
add ecx, 2
test dl, dl
jne 0x489d30
xor eax, eax
jmp 0x489d55
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x489e45
jmp 0x489def
mov eax, dword [esp + 0x88]
push eax
call fcn.0050dec0
movzx edx, byte [edi + 0x184f8]
lea ecx, [esp + 0x8c]
push ecx
push edx
call fcn.00461570
push eax
push ebx
push 0x7dd
push 0x40db
call fcn.00406f10
add esp, 0x1c
jmp 0x48a45c
push ecx
push 0x7dd
push 0x1fe6
call fcn.00406f10
add esp, 0xc
jmp 0x48a45c
mov esi, dword [str.public]
mov ecx, 0x5acad0
lea eax, [esi + 0x80]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x489de6
test dl, dl
je 0x489de2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x489de6
add eax, 2
add ecx, 2
test dl, dl
jne 0x489dc6
xor eax, eax
jmp 0x489deb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x489e22
cmp dword [edi + 0x1a], 0x81
mov eax, str.alter_function
je 0x489e02
mov eax, str.alter_procedure
add edi, 0x18394
push edi
push eax
push esi
push 0x7dd
push 0x1f69
call fcn.00406f10
add esp, 0x14
jmp 0x48a45c
cmp byte [ebp], 0x3a
mov dword [esp + 0x28], 0xfffffffe
jne 0x489e3b
mov byte [ebp], 0
inc ebp
mov dword [esp + 0x1c], ebp
jmp 0x489e45
lea eax, [edi + 0x18313]
mov dword [esp + 0x1c], eax
cmp byte [edi + 0x18313], 0
jne 0x489e5c
cmp word [edi + 0x6ec], 0
je 0x489ef9
lea eax, [esp + 0x34]
push eax
push 2
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x94]
push edx
push fcn.00472210
push 0
lea ebp, [edi + 0x18394]
lea ebx, [edi + 0x1849c]
push str.SELECT_s.rkey_mkey_FROM____sysexternal__s_INNER_JOIN____sysexternalmethod__sm_ON_sqlname__AND_LOWER_sqlsig_LOWER___CAST_CHAR____AND_s.rkeysm.rkey_GROUP_BY_s.rkey_mkey
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebx
call fcn.0050dfb0
mov esi, eax
add esp, 0x1c
test esi, esi
jne 0x48a4a4
mov eax, dword [esp + 0x14]
test eax, eax
je 0x48a4cd
movzx ecx, word [eax]
cmp cx, word [eax + 2]
jne 0x489ebb
xor ecx, ecx
jmp 0x489ec0
movsx ecx, cx
add ecx, eax
mov ecx, dword [ecx]
mov dword [esp + 0x30], ecx
movzx ecx, word [eax + 2]
cmp cx, word [eax + 4]
jne 0x489ed4
xor ecx, ecx
jmp 0x489ed9
movsx ecx, cx
add ecx, eax
mov eax, dword [esp + 0x88]
mov edx, dword [ecx]
push eax
mov dword [esp + 0x30], edx
call fcn.0050dec0
mov esi, eax
add esp, 4
test esi, esi
jne 0x48a4a4
lea ecx, [esp + 0x90]
push str.UPDATE____sysexternalmethod__SET
push ecx
xor edi, edi
call dword [sym.imp.MSVCR90.dll_sprintf]
mov ebx, dword [esp + 0x2c]
lea ebp, [ebx + 0x184fb]
add esp, 8
cmp byte [ebp], 0x81
lea esi, [esp + eax + 0x90]
je 0x489f47
push str.enabled_
push esi
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 8
add esi, eax
mov dword [esp + 0x34], ebp
mov edi, 1
mov byte [esp + 0x13], 1
cmp byte [ebx + 0x18503], 0x81
lea ebp, [ebx + 0x18503]
je 0x489f7c
cmp byte [esp + 0x13], 0
je 0x489f61
mov byte [esi], 0x2c
inc esi
push str.callonnull_
push esi
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 8
add esi, eax
mov dword [esp + edi*4 + 0x34], ebp
inc edi
mov byte [esp + 0x13], 1
cmp byte [ebx + 0x18501], 0x81
je 0x489fb5
cmp byte [esp + 0x13], 0
je 0x489f90
mov byte [esi], 0x2c
inc esi
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
push str.determ_
push esi
call ebp
add esi, eax
lea eax, [ebx + 0x18501]
add esp, 8
mov dword [esp + edi*4 + 0x34], eax
inc edi
mov byte [esp + 0x13], 1
jmp 0x489fbb
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
cmp byte [ebx + 0x184fc], 0x81
je 0x489fec
cmp byte [esp + 0x13], 0
je 0x489fcf
mov byte [esi], 0x2c
inc esi
push str.checkexcept_
push esi
call ebp
add esi, eax
lea eax, [ebx + 0x184fc]
add esp, 8
mov dword [esp + edi*4 + 0x34], eax
inc edi
mov byte [esp + 0x13], 1
cmp byte [ebx + 0x184fa], 0x81
je 0x48a01d
cmp byte [esp + 0x13], 0
je 0x48a000
mov byte [esi], 0x2c
inc esi
push str.ownerrights_
push esi
call ebp
add esi, eax
lea eax, [ebx + 0x184fa]
add esp, 8
mov dword [esp + edi*4 + 0x34], eax
inc edi
mov byte [esp + 0x13], 1
cmp byte [ebx + 0x18500], 0x81
je 0x48a04e
cmp byte [esp + 0x13], 0
je 0x48a031
mov byte [esi], 0x2c
inc esi
push str.sqlaccess_
push esi
call ebp
add esi, eax
lea eax, [ebx + 0x18500]
add esp, 8
mov dword [esp + edi*4 + 0x34], eax
inc edi
mov byte [esp + 0x13], 1
cmp byte [ebx + 0x18502], 0x81
lea ebp, [ebx + 0x18502]
je 0x48a083
cmp byte [esp + 0x13], 0
je 0x48a068
mov byte [esi], 0x2c
inc esi
push str.dynasets_
push esi
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 8
add esi, eax
mov dword [esp + edi*4 + 0x34], ebp
inc edi
mov byte [esp + 0x13], 1
cmp word [ebx + 0x17a88], 0
je 0x48a0bd
cmp byte [esp + 0x13], 0
je 0x48a098
mov byte [esi], 0x2c
inc esi
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
push str.resulttype_
push esi
call ebp
lea edx, [ebx + 0x184e5]
add esp, 8
add esi, eax
mov dword [esp + edi*4 + 0x34], edx
inc edi
mov byte [esp + 0x13], 1
jmp 0x48a0c3
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
cmp dword [ebx + 0x18415], 0
je 0x48a0f4
cmp byte [esp + 0x13], 0
je 0x48a0d7
mov byte [esi], 0x2c
inc esi
push str.sqlname_
push esi
call ebp
add esi, eax
mov eax, dword [ebx + 0x18415]
add esp, 8
mov dword [esp + edi*4 + 0x34], eax
inc edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x184dd], 0
je 0x48a130
cmp byte [esp + 0x13], 0
je 0x48a108
mov byte [esi], 0x2c
inc esi
push str.sqlsig__parammodes_
push esi
call ebp
mov ecx, dword [ebx + 0x184dd]
mov dword [esp + edi*4 + 0x3c], ecx
inc edi
lea edx, [ebx + 0x18419]
add esp, 8
add esi, eax
mov dword [esp + edi*4 + 0x34], edx
inc edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x184e7], 0
je 0x48a161
cmp byte [esp + 0x13], 0
je 0x48a144
mov byte [esi], 0x2c
inc esi
push str.extsig_
push esi
call ebp
add esi, eax
mov eax, dword [ebx + 0x184e7]
add esp, 8
mov dword [esp + edi*4 + 0x34], eax
inc edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x6e8], 0
je 0x48a2e6
cmp byte [ebx + 0x184f7], 3
mov dword [esp + 0x18], 0
jne 0x48a19c
mov eax, dword [ebx + 0x184e1]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48a188
sub eax, edx
mov ecx, eax
mov dword [esp + 0x88], ecx
jmp 0x48a1b7
lea eax, [ebx + 0x1849c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48a1a5
sub eax, edx
mov ecx, eax
mov dword [esp + 0x88], eax
xor edx, edx
test ecx, ecx
jle 0x48a2e6
lea eax, [ebx + 0x6e8]
mov dword [esp + 0x14], eax
jmp 0x48a1d0
cmp byte [ebx + 0x184f7], 3
je 0x48a1e8
mov al, byte [ebx + edx + 0x18419]
cmp al, 0x49
je 0x48a213
cmp al, 0x4d
je 0x48a213
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48a1f1
mov ecx, dword [esp + 0x18]
sub eax, ebp
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
lea eax, [ecx + eax + 1]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x18], eax
add dword [esp + 0x14], 0x16c
inc edx
cmp edx, ecx
jl 0x48a1d0
cmp dword [esp + 0x18], 0
je 0x48a2e6
mov ecx, dword [esp + 0x18]
inc ecx
push ecx
call dword [sym.imp.MSVCR90.dll_malloc]
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x18], eax
test eax, eax
jne 0x48a25a
push 0x7dd
push 6
call fcn.00406f10
add esp, 8
jmp 0x48a45c
lea eax, [ebx + 0x6e8]
xor ebp, ebp
mov dword [esp + 0x14], eax
cmp byte [ebx + 0x184f7], 3
je 0x48a27e
mov al, byte [ebx + ebp + 0x18419]
cmp al, 0x49
je 0x48a29c
cmp al, 0x4d
je 0x48a29c
mov edx, dword [esp + 0x14]
mov eax, dword [edx]
mov ecx, dword [esp + 0x18]
push eax
push 0x5ad76c
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0xc
add dword [esp + 0x18], eax
add dword [esp + 0x14], 0x16c
inc ebp
cmp ebp, dword [esp + 0x88]
jl 0x48a266
cmp byte [esp + 0x13], 0
mov edx, dword [esp + 0x18]
mov byte [edx - 1], 0
je 0x48a2c1
mov byte [esi], 0x2c
inc esi
push str.paramnames_
push esi
call dword [sym.imp.MSVCR90.dll_sprintf]
mov ebp, dword [sym.imp.MSVCR90.dll_sprintf]
add esi, eax
mov eax, dword [esp + 0x28]
add esp, 8
mov dword [esp + edi*4 + 0x34], eax
inc edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x184e1], 0
je 0x48a317
cmp byte [esp + 0x13], 0
je 0x48a2fa
mov byte [esi], 0x2c
inc esi
push str.sqltabsig_
push esi
call ebp
mov ecx, dword [ebx + 0x184e1]
add esp, 8
add esi, eax
mov dword [esp + edi*4 + 0x34], ecx
inc edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x184eb], 0
je 0x48a348
cmp byte [esp + 0x13], 0
je 0x48a32b
mov byte [esi], 0x2c
inc esi
push str.exttabsig_
push esi
call ebp
mov edx, dword [ebx + 0x184eb]
add esp, 8
add esi, eax
mov dword [esp + edi*4 + 0x34], edx
inc edi
mov byte [esp + 0x13], 1
cmp byte [ebx + 0x18313], 0
je 0x48a380
cmp byte [esp + 0x13], 0
je 0x48a35c
mov byte [esi], 0x2c
inc esi
push str.rkey__methodname_
push esi
call ebp
mov ecx, dword [esp + 0x24]
add esi, eax
lea eax, [esp + 0x30]
mov dword [esp + edi*4 + 0x3c], eax
inc edi
add esp, 8
mov dword [esp + edi*4 + 0x34], ecx
inc edi
mov byte [esp + 0x13], 1
cmp dword [ebx + 0x184ef], 0
je 0x48a3ac
cmp byte [esp + 0x13], 0
je 0x48a394
mov byte [esi], 0x2c
inc esi
push str.comment_
push esi
call ebp
mov edx, dword [ebx + 0x184ef]
add esp, 8
add esi, eax
mov dword [esp + edi*4 + 0x34], edx
inc edi
push str._WHERE_sqlname__AND_LOWER_sqlsig_LOWER___CAST_CHAR___
push esi
call dword [sym.imp.MSVCR90.dll_sprintf]
lea ebp, [ebx + 0x18394]
mov dword [esp + edi*4 + 0x3c], ebp
inc edi
add ebx, 0x1849c
lea eax, [esp + 0x3c]
push eax
mov dword [esp + edi*4 + 0x40], ebx
inc edi
push edi
lea ecx, [esp + 0x90]
push ecx
push fcn.00472210
lea edx, [esp + 0xa8]
push 0
push edx
call fcn.0050df80
mov esi, eax
add esp, 0x20
test esi, esi
jne 0x48a4a4
mov esi, dword [esp + 0x20]
test esi, esi
je 0x48a40f
push esi
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
cmp dword [esp + 0x80], 0
jne 0x48a475
mov ecx, dword [esp + 0x24]
xor eax, eax
cmp dword [ecx + 0x1a], 0x82
sete al
add eax, 0x40d9
mov edi, eax
test esi, esi
je 0x48a43e
push esi
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
lea eax, [esp + 0x1f0]
push eax
push ebx
call fcn.004614b0
push eax
push ebp
push 0x7dd
push edi
call fcn.00406f10
add esp, 0x18
mov ecx, dword [esp + 0x3ec]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00586584
add esp, 0x3e0
ret
mov eax, dword [esp + 0x24]
cmp byte [eax + 0x18313], 0
jne 0x48a48c
cmp word [eax + 0x6ec], 0
je 0x48a4c9
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x34]
push eax
call fcn.00462860
mov esi, eax
add esp, 8
test esi, esi
je 0x48a4c9
push 0x7dd
push 0
call fcn.00406f10
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x48a4c5
push eax
call dword [sym.imp.MSVCR90.dll_free]
add esp, 4
mov eax, esi
jmp 0x48a45c
xor eax, eax
jmp 0x48a45c
mov edx, dword [esp + 0x88]
xor ecx, ecx
cmp dword [edi + 0x1a], 0x82
push edx
sete cl
add ecx, 0x40d9
mov edi, ecx
call fcn.0050dec0
jmp 0x48a43b