Function at 0x65237bf0
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0xa4
push esi
mov esi, dword [esp + 0xac]
mov eax, dword [esi]
test byte [eax + 0x24], 0x10
mov edx, str.AND_not_exists__select__from_splayed_indexes_si_where_i.index_id__si.index_id_and_si.table_idi.table_id_
jne 0x65237c10
mov edx, 0x6528b61a
mov eax, dword [esi + 0x60]
test eax, eax
mov ecx, str.st.remote_location
jne 0x65237c21
mov ecx, 0x6528b704
mov eax, dword [esi + 0x80]
test eax, eax
mov eax, str.hash_limit
jne 0x65237c35
mov eax, 0x6528fe34
push edx
mov edx, dword [esp + 0xbc]
push edx
push ecx
push eax
lea eax, [esi + 0x278]
push str.SELECT_user_name__user_id__index_name__i.index_id__column_name___order____unique___dbspace_name__i.table_id___s___s_FROM_SYS.SYSUSERPERM_u__SYS.SYSINDEX_i__SYS.SYSIXCOL_x__SYS.SYSCOLUMN_c__SYS.SYSTABLE_st__SYS.SYSFILE_WHERE__u.user_id__i.creator_AND_i.table_id__x.table_id_AND_i.index_id__x.index_id_AND_x.table_id__c.table_id_AND_c.table_id__st.table_id_AND_x.column_id__c.column_id_AND_i.table_id___s_AND_i.file_id__SYS.SYSFILE.file_id__s_AND___unique_____U_or_i.index_id___SELECT_min_index_id__FROM_SYS.SYSINDEX_i2_WHERE_table_idi.table_id_AND__unique___U_AND__SELECT_list_column_id__FROM_SYS.SYSIXCOL_WHERE_table_idi.table_id_AND_index_idi.index_id____SELECT_list_column_id__FROM_SYS.SYSIXCOL_WHERE_table_idi.table_id_AND_index_idi2.index_id______ORDER_BY_i.index_id__sequence
push eax
call fcn.65237150
mov ecx, dword [esi + 0x1e8]
push eax
push 6
push ecx
call fcn.65261aa0
mov edx, dword [esi + 0x1e8]
push 6
push edx
call fcn.65262260
add esp, 0x2c
test eax, eax
je 0x65238092
push ebx
push ebp
mov byte [esp + 0x18], 0
mov byte [esp + 0x10], 0
mov byte [esp + 0x2c], 0
mov byte [esp + 0x20], 0
mov ebx, 0x17
push edi
mov eax, dword [esi + 0x1e8]
push 0xa
push 6
push eax
call fcn.65261720
add esp, 0xc
test eax, eax
jne 0x65237cd1
mov byte [esp + 0x1c], al
mov byte [esp + 0x14], al
mov byte [esp + 0x30], al
mov byte [esp + 0x24], al
mov dword [esp + 0x10], 0x17
mov dword [esp + 0x2c], 1
jmp 0x65238043
mov ecx, dword [esi + 0x1e8]
push 6
push 6
push ecx
mov dword [esp + 0x38], 0
call fcn.652617d0
movsx edx, byte [eax]
push edx
call fcn.6527c935
push 0x55
mov ebp, eax
call fcn.6527c935
sub ebp, eax
mov eax, dword [esi + 0x1e8]
push 1
neg ebp
sbb ebp, ebp
push 6
push eax
inc ebp
lea edi, [esp + 0x3c]
call fcn.652617d0
add esp, 0x20
lea esp, [esp]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x65237d44
test cl, cl
je 0x65237d40
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x65237d44
add eax, 2
add edi, 2
test cl, cl
jne 0x65237d20
xor eax, eax
jmp 0x65237d49
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x65237e2a
mov eax, dword [esi + 0x1e8]
push 3
push 6
push eax
lea edi, [esp + 0x20]
call fcn.652617d0
add esp, 0xc
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x65237d8c
test cl, cl
je 0x65237d88
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x65237d8c
add eax, 2
add edi, 2
test cl, cl
jne 0x65237d68
xor eax, eax
jmp 0x65237d91
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x65237e2a
test ebp, ebp
je 0x65237dc8
mov eax, dword [esi + 0x1e8]
push 4
push 6
push eax
call fcn.652617d0
push eax
push str.__r_n_t__s_
lea ecx, [esi + 0x128]
push ebx
push ecx
call fcn.652371f0
add esp, 0x1c
jmp 0x65238047
mov edx, dword [esi + 0x1e8]
push 5
push 6
push edx
call fcn.652617d0
movsx eax, byte [eax]
push eax
call fcn.6527c935
push 0x41
mov edi, eax
call fcn.6527c935
add esp, 0x14
cmp edi, eax
mov eax, 0x6528fb00
je 0x65237dfb
mov eax, str.DESC
mov ecx, dword [esi + 0x1e8]
push eax
push 4
push 6
push ecx
call fcn.652617d0
add esp, 0xc
push eax
push str.__r_n_t__s___s
lea edx, [esi + 0x128]
push ebx
push edx
call fcn.652371f0
add esp, 0x14
jmp 0x65238047
mov al, byte [esp + 0x1c]
test al, al
je 0x65237e59
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0xbc]
lea eax, [esp + 0x24]
push eax
push ecx
push edx
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.65237a70
add esp, 0x14
mov edx, dword [esi + 0x1e8]
push 1
push 6
push edx
call fcn.652617d0
add esp, 0xc
lea edx, [esp + 0x1c]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x65237e70
mov eax, dword [esi + 0x1e8]
push 3
push 6
push eax
call fcn.652617d0
add esp, 0xc
lea edx, [esp + 0x14]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x65237e91
test ebp, ebp
je 0x65237ea5
mov byte [esp + 0x30], cl
jmp 0x65237eca
mov ecx, dword [esi + 0x1e8]
push 7
push 6
push ecx
call fcn.652617d0
add esp, 0xc
lea edx, [esp + 0x30]
lea esp, [esp]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x65237ec0
mov edx, dword [esi + 0x1e8]
push 9
push 6
push edx
call fcn.652617d0
add esp, 0xc
lea edx, [esp + 0x24]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x65237ee1
mov edi, ebp
neg edi
sbb edi, edi
and edi, 0xfffffffd
add edi, 9
test ebp, ebp
mov dword [esp + 0x10], edi
je 0x65237f3a
mov eax, dword [esi + 0x1e8]
push 4
push 6
push eax
call fcn.652617d0
mov ecx, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
push eax
push ecx
push edx
push str._r_nALTER_TABLE___s_.__s__ADD_UNIQUE__r_n__r_n_t__s_
lea eax, [esi + 0x128]
push edi
push eax
call fcn.652371f0
add esp, 0x24
jmp 0x65238043
mov eax, dword [esp + 0xc8]
lea edi, [esp + 0x14]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x65237f6d
test cl, cl
je 0x65237f69
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x65237f6d
add eax, 2
add edi, 2
test cl, cl
jne 0x65237f45
xor eax, eax
jmp 0x65237f72
sbb eax, eax
sbb eax, 0xffffffff
mov edx, dword [esi + 0x1e8]
xor ecx, ecx
test eax, eax
sete cl
push 5
push 6
push edx
mov edi, ecx
call fcn.652617d0
movsx eax, byte [eax]
push eax
call fcn.6527c935
push 0x41
mov ebx, eax
call fcn.6527c935
add esp, 0x14
cmp ebx, eax
mov ebx, 0x6528fb00
je 0x65237fae
mov ebx, str.DESC
test edi, edi
mov ebp, str.CLUSTERED
jne 0x65237fbc
mov ebp, 0x6528b61a
mov ecx, dword [esi + 0x1e8]
push 6
push 6
push ecx
call fcn.652617d0
movsx edx, byte [eax]
push edx
call fcn.6527c935
push 0x59
mov edi, eax
call fcn.6527c935
add esp, 0x14
cmp edi, eax
mov edi, str.UNIQUE
je 0x65237fef
mov edi, 0x6528b61a
mov eax, dword [esi + 0x1e8]
push ebx
push 4
push 6
push eax
call fcn.652617d0
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0xcc]
add esp, 0xc
push eax
mov eax, dword [esi + 0x1e8]
push ecx
push edx
push 2
push 6
push eax
call fcn.652617d0
mov ecx, dword [esp + 0x2c]
add esp, 0xc
push eax
push ebp
push edi
push str._r_nCREATE__s_sINDEX___s__ON___s_.__s__r_n__r_n_t__s___s
push ecx
lea edx, [esi + 0x128]
push edx
call fcn.652371f0
add esp, 0x28
mov ebx, dword [esp + 0x10]
mov eax, dword [esi + 0x1e8]
push 6
push eax
call fcn.65262260
add esp, 8
test eax, eax
jne 0x65237c95
mov eax, dword [esp + 0x2c]
test eax, eax
pop edi
pop ebp
jne 0x65238091
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb4]
lea ecx, [esp + 0x1c]
push ecx
push edx
push eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x38]
push edx
call fcn.65237a70
add esp, 0x14
pop ebx
mov eax, dword [esi + 0x1e8]
push 6
push eax
call fcn.65261d80
add esp, 8
pop esi
add esp, 0xa4
ret