Function at 0x46eb20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
test dword [0x87ed4c], 0xfffff000
jne 0x46eb50
test dword [0x87ed4c], 0xffffffff
jne 0x46f550
call fcn.007663a0
jmp fcn.0046eb20
push ebp
mov ebp, esp
and esp, 0xfffffff0
push edi
push esi
push ebx
sub esp, 0xa4
mov edi, dword [edx + 0x18]
test edi, edi
je 0x46f30b
mov esi, dword [eax]
mov ecx, dword [edi]
cmp ecx, dword [esi + 0x50]
jg 0x46f52d
test ecx, ecx
jle 0x46eb95
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov eax, dword [edi + 0xc]
lea ebx, [ecx + ecx*4]
mov byte [eax + ebx*4 + 0xd], 0
inc ecx
cmp ecx, dword [edi]
jl 0x46eb81
mov eax, dword [esp + 0x6c]
mov ecx, dword [edx + 0x1c]
mov dword [edx + 0x20], 0
test ecx, ecx
je 0x46ebb0
mov dword [ecx + 0x20], edx
mov edx, dword [edx + 0x1c]
mov ecx, dword [edx + 0x1c]
test ecx, ecx
jne 0x46eba3
mov ecx, dword [edi]
mov dword [esp + 0x80], esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x6c], eax
mov eax, dword [edx]
mov ebx, dword [esp + 0x98]
mov ebx, dword [ebx + 0xc]
test ecx, ecx
jle 0x46f30b
xor edi, edi
xor esi, esi
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
movzx eax, byte [ebx + 0xd]
test eax, eax
je 0x46ec09
mov dword [esp + 0xa0], 0xffffffff
jmp 0x46f2b9
mov edi, dword [ebx]
movzx eax, word [edi + 2]
test eax, 0x400
jne 0x46f0ae
movzx eax, byte [edi]
cmp eax, 0x81
je 0x46ec93
cmp eax, 0x9d
jne 0x46ec53
mov eax, dword [edi + 8]
mov dword [esp + 0xa0], 0xffffffff
lea edx, [esp + 0xa0]
call fcn.0043a130
mov edx, eax
mov eax, dword [esp + 0xa0]
jmp 0x46ed39
cmp eax, 0x9c
jne 0x46ed5b
mov eax, dword [edi + 8]
mov dword [esp + 0xa0], 0xffffffff
lea edx, [esp + 0x44]
call fcn.0043a130
test eax, eax
jne 0x46ec81
movzx eax, byte [edi]
jmp 0x46ed5b
mov eax, dword [esp + 0x44]
neg eax
mov dword [esp + 0xa0], eax
jmp 0x46ed42
mov edx, dword [edi + 4]
movsx eax, byte [edx]
cmp eax, 0x2d
jne 0x46eca9
inc edx
mov dword [esp + 0x40], 1
jmp 0x46ecb8
xor ecx, ecx
mov dword [esp + 0x40], ecx
lea ecx, [edx + 1]
cmp eax, 0x2b
cmove edx, ecx
cmp byte [edx], 0x30
jne 0x46ecc3
inc edx
cmp byte [edx], 0x30
je 0x46ecbd
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x60], edi
mov edi, eax
mov dword [esp + 0x64], esi
mov esi, ecx
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x70]
movsx ebx, byte [esi + ebx]
add ebx, 0xffffffd0
jl 0x46f401
cmp ebx, 9
jg 0x46f401
mov eax, ebx
cdq
mov dword [esp + 0x5c], edx
push ecx
push edi
push 0
push 0xa
call fcn.00743d90
mov edi, eax
mov ecx, edx
add edi, ebx
adc ecx, dword [esp + 0x5c]
inc esi
cmp esi, 0xb
jl 0x46ecdf
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xa0], 0xffffffff
mov eax, 0xffffffff
xor edx, edx
test edx, edx
jne 0x46ed42
movzx eax, byte [edi]
jmp 0x46ed5b
movzx edx, word [edi + 2]
mov byte [edi], 0x81
or edx, 0xffff0400
mov word [edi + 2], dx
mov dword [edi + 4], eax
jmp 0x46f0b8
cmp eax, 0x1a
jne 0x46ee0c
mov ecx, dword [edi + 4]
mov eax, dword [esp + 0x90]
mov edx, dword [eax]
test edx, edx
jle 0x46ee0c
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
xor eax, eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x60], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x50]
lea ecx, [eax + eax*4]
mov edi, dword [ebx + ecx*4 + 4]
test edi, edi
je 0x46edfb
mov esi, dword [esp + 0x84]
lea ecx, [edi + 1]
movzx edi, byte [edi]
test edi, edi
je 0x46f34c
mov dword [esp + 0x74], edx
movzx edx, byte [esi]
movzx edi, byte [edi + 0x789b60]
movzx edx, byte [edx + 0x789b60]
cmp edi, edx
jne 0x46f341
movzx edi, byte [ecx]
inc esi
inc ecx
test edi, edi
jne 0x46edbc
mov edx, dword [esp + 0x74]
movzx ecx, byte [esi]
movzx edi, byte [edi + 0x789b60]
movzx ecx, byte [ecx + 0x789b60]
cmp ecx, edi
je 0x46f31a
inc eax
cmp eax, edx
jl 0x46ed98
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xa0], 0
mov eax, dword [esp + 0x80]
mov dword [esp + 0xc], 0
mov edx, edi
xor ecx, ecx
call fcn.0044cfe0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x80]
movzx edx, byte [eax + 0x1e]
test edx, edx
jne 0x46eef2
mov eax, dword [esp + 0x94]
pxor xmm0, xmm0
mov edx, dword [eax]
mov dword [esp + 0x38], edx
movaps xmmword [esp + 0x10], xmm0
movaps xmmword [esp + 0x20], xmm0
movd dword [esp + 0x30], xmm0
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 8]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
lea eax, [esp + 0x10]
mov byte [esp + 0x24], 1
mov dword [esp + 0x20], 0
call fcn.00551a60
test eax, eax
jne 0x46f3f3
mov eax, dword [esp + 0x38]
mov edx, dword [eax]
test edx, edx
jle 0x46eee9
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov dword [esp + 0x60], edi
mov edi, eax
mov dword [esp + 0x64], esi
mov esi, edx
mov dword [esp + 0x68], ebx
mov ebx, ecx
mov edx, dword [esp + 0x4c]
lea eax, [ebx + ebx*4]
mov eax, dword [edi + eax*4]
call fcn.0046c240
test eax, eax
jne 0x46f3df
inc ebx
cmp ebx, esi
jl 0x46eec1
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
xor ecx, ecx
mov dword [esp + 0xa0], ecx
cmp dword [esp + 0x4c], 0
je 0x46f3cc
mov eax, dword [esp + 0x4c]
movzx eax, word [eax + 2]
test eax, 0x2000
jne 0x46f063
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 8]
call fcn.004cdfe0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx + 0xc]
call fcn.004cdfe0
mov eax, dword [esp + 0x4c]
movzx eax, word [eax + 2]
mov edx, eax
and edx, 0x1000
cmp edx, 0x1000
je 0x46ef5c
mov edx, dword [esp + 0x4c]
test byte [edx + 0x22], 1
jne 0x46f3ae
mov edx, eax
and edx, 0x800
cmp edx, 0x800
je 0x46f378
mov edx, dword [esp + 0x4c]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x88], ecx
test ecx, ecx
je 0x46f063
mov eax, ecx
cmp dword [eax], 0
mov edx, dword [eax + 0xc]
jle 0x46f03c
xor eax, eax
mov dword [esp + 0x60], edi
mov edi, edx
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x68], ebx
mov ebx, eax
mov edx, dword [edi]
mov eax, esi
call fcn.004cdfe0
mov eax, dword [edi + 4]
test eax, eax
je 0x46efe9
cmp eax, dword [esi + 0xf0]
jb 0x46f36e
cmp eax, dword [esi + 0xf4]
jae 0x46f36e
mov ecx, dword [esi + 0xec]
mov dword [eax], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], eax
mov eax, dword [edi + 8]
test eax, eax
je 0x46f01c
cmp eax, dword [esi + 0xf0]
jb 0x46f364
cmp eax, dword [esi + 0xf4]
jae 0x46f364
mov ecx, dword [esi + 0xec]
mov dword [eax], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], eax
mov ecx, dword [esp + 0x88]
inc ebx
add edi, 0x14
cmp ebx, dword [ecx]
jl 0x46efad
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov eax, ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x80]
call fcn.004e33d8
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x88]
call fcn.004e33d8
mov eax, dword [esp + 0x4c]
movzx eax, word [eax + 2]
and eax, 0x4000
cmp eax, 0x4000
je 0x46f08b
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x4c]
call fcn.004e33d8
cmp dword [esp + 0xa0], 0
jg 0x46f0d1
jmp 0x46f095
cmp dword [esp + 0xa0], 0
jg 0x46f0d1
mov eax, dword [esp + 0x98]
mov ecx, dword [eax]
mov dword [esp + 0x8c], 1
jmp 0x46f2b9
mov eax, dword [edi + 4]
mov dword [esp + 0xa0], eax
mov edx, dword [esp + 0x90]
mov edx, dword [edx]
test eax, eax
jle 0x46f506
cmp eax, edx
jg 0x46f506
mov eax, dword [edi + 0x14]
mov dword [esp + 0x78], eax
movzx eax, word [edi + 2]
mov edx, eax
and edx, 0x100
mov dword [esp + 0x7c], edx
test eax, 0x2000
jne 0x46f242
mov eax, dword [esp + 0x80]
mov edx, dword [edi + 8]
call fcn.004cdfe0
mov eax, dword [esp + 0x80]
mov edx, dword [edi + 0xc]
call fcn.004cdfe0
movzx eax, word [edi + 2]
mov edx, eax
and edx, 0x1000
cmp edx, 0x1000
je 0x46f12f
test byte [edi + 0x22], 1
jne 0x46f4ee
mov edx, eax
and edx, 0x800
cmp edx, 0x800
je 0x46f4be
mov edx, dword [edi + 0x10]
mov dword [esp + 0x9c], edx
test edx, edx
je 0x46f242
mov eax, edx
cmp dword [eax], 0
mov edx, dword [eax + 0xc]
jle 0x46f21f
xor eax, eax
mov dword [esp + 0x60], edi
mov edi, edx
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x80]
mov dword [esp + 0x68], ebx
mov ebx, eax
mov edx, dword [edi]
mov eax, esi
call fcn.004cdfe0
mov eax, dword [edi + 4]
test esi, esi
je 0x46f4b5
test eax, eax
je 0x46f1c0
cmp eax, dword [esi + 0xf0]
jb 0x46f4ab
cmp eax, dword [esi + 0xf4]
jae 0x46f4ab
mov ecx, dword [esi + 0xec]
mov dword [eax], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], eax
mov eax, dword [edi + 8]
test esi, esi
je 0x46f4a2
test eax, eax
je 0x46f1fb
cmp eax, dword [esi + 0xf0]
jb 0x46f498
cmp eax, dword [esi + 0xf4]
jae 0x46f498
mov ecx, dword [esi + 0xec]
mov dword [eax], ecx
dec dword [esi + 0xe4]
mov dword [esi + 0xec], eax
mov ecx, dword [esp + 0x9c]
inc ebx
add edi, 0x14
cmp ebx, dword [ecx]
jl 0x46f17c
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov eax, ecx
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x80]
call fcn.004e33d8
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x9c]
call fcn.004e33d8
movzx eax, word [edi + 2]
and eax, 0x4000
cmp eax, 0x4000
je 0x46f25c
mov eax, dword [esp + 0x80]
mov edx, edi
call fcn.004e33d8
mov eax, dword [esp + 0x80]
xor edi, edi
mov dword [esp + 0x54], edi
mov edx, 0x81
lea ecx, [esp + 0x54]
mov dword [esp + 0x58], edi
mov dword [esp + 0xc], edi
call fcn.004e34a0
mov dword [ebx], eax
test eax, eax
je 0x46f486
mov edx, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xa0]
mov dword [eax + 0x14], edx
or ecx, 0xffff0400
or word [eax + 2], cx
mov dword [eax + 4], edi
mov eax, dword [esp + 0x98]
mov word [ebx + 0xe], di
mov byte [ebx + 0xd], 1
mov ecx, dword [eax]
inc esi
add ebx, 0x14
cmp esi, ecx
jl 0x46ebf1
mov edi, dword [esp + 0x8c]
mov edx, dword [esp + 0x94]
mov edx, dword [edx + 0x20]
test edx, edx
je 0x46f2e2
test edi, edi
jne 0x46ebc4
mov edi, dword [esp + 0x98]
mov eax, dword [esp + 0x6c]
xor edx, edx
test ecx, ecx
jle 0x46f30b
mov esi, dword [edi + 0xc]
lea edi, [edx + edx*4]
movzx edi, byte [esi + edi*4 + 0xd]
test edi, edi
je 0x46f476
inc edx
cmp edx, ecx
jl 0x46f2f6
xor eax, eax
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
inc eax
mov dword [esp + 0xa0], eax
je 0x46ee17
test eax, eax
jg 0x46f0d1
jmp 0x46f095
mov ecx, edx
mov edx, dword [esp + 0x74]
jmp 0x46edf3
mov ecx, esi
movzx esi, byte [ecx]
movzx edi, byte [edi + 0x789b60]
movzx ecx, byte [esi + 0x789b60]
jmp 0x46edf3
call fcn.004c69c4
jmp 0x46f01c
call fcn.004c69c4
jmp 0x46efe9
mov edx, dword [esp + 0x4c]
mov ecx, dword [edx + 0x10]
mov dword [esp + 0x34], ecx
test ecx, ecx
je 0x46f063
mov eax, dword [esp + 0x80]
mov edx, ecx
call fcn.004ce330
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x34]
call fcn.004e33d8
jmp 0x46f05b
mov eax, dword [esp + 0x80]
mov ecx, edx
mov edx, dword [ecx + 4]
call fcn.004e33d8
mov eax, dword [esp + 0x4c]
movzx eax, word [eax + 2]
jmp 0x46ef5c
cmp dword [esp + 0xa0], 0
jg 0x46f0d1
jmp 0x46f095
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ecx, ebx
mov ebx, dword [esp + 0x68]
inc ecx
jmp 0x46eeeb
mov eax, dword [esp + 0x6c]
call fcn.00586130
jmp 0x46eee9
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x48], esi
mov eax, edi
mov edi, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
cmp dword [esp + 0x48], 0xa
jg 0x46f466
mov edx, eax
sub edx, dword [esp + 0x40]
sbb ecx, 0
sub edx, 0x7fffffff
sbb ecx, 0
jl 0x46f432
or edx, ecx
jne 0x46f44f
mov edx, eax
neg edx
cmp dword [esp + 0x40], 0
cmovne eax, edx
mov dword [esp + 0xa0], eax
mov edx, 1
jmp 0x46ed39
mov dword [esp + 0xa0], 0xffffffff
mov eax, 0xffffffff
xor edx, edx
jmp 0x46ed39
mov dword [esp + 0xa0], 0xffffffff
jmp 0x46ed32
inc edx
push edx
push str._r_ORDER_BY_term_does_not_match_any_column_in_the_result_set
push eax
call fcn.005860f0
add esp, 0xc
mov eax, 1
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
call fcn.004c69c4
jmp 0x46f1fb
test eax, eax
jne 0x46f498
jmp 0x46f1fb
call fcn.004c69c4
jmp 0x46f1c0
test eax, eax
jne 0x46f4ab
jmp 0x46f1c0
mov edx, dword [edi + 0x10]
mov dword [esp + 0x3c], edx
test edx, edx
je 0x46f242
mov eax, dword [esp + 0x80]
call fcn.004ce330
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
call fcn.004e33d8
jmp 0x46f23e
mov eax, dword [esp + 0x80]
mov edx, dword [edi + 4]
call fcn.004e33d8
movzx eax, word [edi + 2]
jmp 0x46f12f
mov eax, dword [esp + 0x6c]
inc esi
mov dword [esp + 0xc], edx
mov edx, str.ORDER
mov ecx, esi
call fcn.00588640
mov eax, 1
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push str.too_many_terms_in_ORDER_BY_clause
push eax
call fcn.005860f0
add esp, 8
mov eax, 1
add esp, 0xa4
pop ebx
pop esi
pop edi
mov esp, ebp
pop ebp
ret
push edi
push esi
push ebp
push ebx
sub esp, 0x98
mov esi, dword [edx + 0x18]
test esi, esi
je 0x46fccd
mov ecx, dword [eax]
mov edi, dword [esi]
cmp edi, dword [ecx + 0x50]
jg 0x46fedc
test edi, edi
jle 0x46f588
xor edi, edi
lea ebp, [edi + edi*4]
mov ebx, dword [esi + 0xc]
mov byte [ebx + ebp*4 + 0xd], 0
inc edi
cmp edi, dword [esi]
jl 0x46f578
mov dword [edx + 0x20], 0
mov edi, dword [edx + 0x1c]
test edi, edi
je 0x46f5a3
mov dword [edi + 0x20], edx
mov edx, dword [edx + 0x1c]
mov edi, dword [edx + 0x1c]
test edi, edi
jne 0x46f596
mov edi, dword [esi]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x90], esi
mov dword [esp + 0x54], eax
mov eax, dword [edx]
mov ecx, dword [esp + 0x90]
mov ebx, dword [ecx + 0xc]
test edi, edi
jle 0x46fccd
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
movzx eax, byte [ebx + 0xd]
test eax, eax
je 0x46f5fc
mov dword [esp + 0x94], 0xffffffff
jmp 0x46fc7b
mov ebp, dword [ebx]
movzx eax, word [ebp + 2]
test ah, 4
jne 0x46fa78
movzx eax, byte [ebp]
cmp eax, 0x81
je 0x46f684
cmp eax, 0x9d
jne 0x46f643
mov dword [esp + 0x94], 0xffffffff
mov eax, dword [ebp + 8]
lea edx, [esp + 0x94]
call fcn.0043a130
mov ecx, dword [esp + 0x94]
jmp 0x46f722
cmp eax, 0x9c
jne 0x46f745
mov dword [esp + 0x94], 0xffffffff
mov eax, dword [ebp + 8]
lea edx, [esp + 0x48]
call fcn.0043a130
test eax, eax
jne 0x46f672
movzx eax, byte [ebp]
jmp 0x46f745
mov ecx, dword [esp + 0x48]
neg ecx
mov dword [esp + 0x94], ecx
jmp 0x46f72c
mov eax, dword [ebp + 4]
movsx ecx, byte [eax]
cmp ecx, 0x2d
jne 0x46f697
inc eax
mov edx, 1
jmp 0x46f6a3
xor edx, edx
lea edi, [eax + 1]
cmp ecx, 0x2b
jne 0x46f6a3
mov eax, edi
cmp byte [eax], 0x30
jne 0x46f6ae
inc eax
cmp byte [eax], 0x30
je 0x46f6a8
xor ecx, ecx
mov dword [esp + 0x4c], ecx
xor edi, edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x50], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebx
mov esi, ecx
mov ebx, dword [esp + 0x74]
movsx ebx, byte [edi + ebx]
add ebx, 0xffffffd0
jl 0x46fdb3
cmp ebx, 9
jg 0x46fdb3
mov eax, ebx
cdq
mov ebp, edx
push ecx
push esi
push 0
push 0xa
call fcn.00743d90
mov esi, eax
mov ecx, edx
add esi, ebx
adc ecx, ebp
inc edi
cmp edi, 0xb
jl 0x46f6cc
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x94], 0xffffffff
mov ecx, 0xffffffff
xor eax, eax
test eax, eax
jne 0x46f72c
movzx eax, byte [ebp]
jmp 0x46f745
mov byte [ebp], 0x81
movzx eax, word [ebp + 2]
or eax, 0xffff0400
mov word [ebp + 2], ax
mov dword [ebp + 4], ecx
jmp 0x46fa82
cmp eax, 0x1a
jne 0x46f7e6
mov edi, dword [ebp + 4]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
test ecx, ecx
jle 0x46f7e6
mov edx, eax
mov edx, dword [edx + 0xc]
xor eax, eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebx
lea ebx, [eax + eax*4]
mov esi, dword [edx + ebx*4 + 4]
test esi, esi
je 0x46f7d5
lea ebx, [esi + 1]
mov ebp, edi
movzx esi, byte [esi]
test esi, esi
je 0x46fd0c
mov dword [esp + 0x78], edi
movzx edi, byte [ebp]
movzx esi, byte [esi + 0x789b60]
movzx edi, byte [edi + 0x789b60]
cmp esi, edi
jne 0x46fd01
inc ebp
movzx esi, byte [ebx]
inc ebx
test esi, esi
jne 0x46f794
mov edi, dword [esp + 0x78]
movzx ebx, byte [ebp]
movzx esi, byte [esi + 0x789b60]
movzx ebx, byte [ebx + 0x789b60]
cmp ebx, esi
je 0x46fcda
inc eax
cmp eax, ecx
jl 0x46f775
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x94], 0
mov dword [esp + 0xc], 0
mov eax, dword [esp + 0x80]
mov edx, ebp
xor ecx, ecx
call fcn.0044cfe0
mov edi, eax
mov eax, dword [esp + 0x80]
movzx edx, byte [eax + 0x1e]
test edx, edx
jne 0x46f8dd
mov eax, dword [esp + 0x8c]
mov edx, dword [eax]
mov dword [esp + 0x38], edx
mov dword [esp + 0x30], 0
mov edx, 0x20
xor eax, eax
mov dword [esp + edx + 0xc], eax
mov dword [esp + edx + 8], eax
mov dword [esp + edx + 4], eax
mov dword [esp + edx], eax
sub edx, 0x10
jne 0x46f838
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x8c]
mov edx, dword [eax + 8]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x18], ecx
mov byte [esp + 0x24], 1
mov dword [esp + 0x20], 0
lea eax, [esp + 0x10]
mov edx, edi
call fcn.00551a60
test eax, eax
jne 0x46fda5
mov eax, dword [esp + 0x38]
mov edx, dword [eax]
test edx, edx
jle 0x46f8d4
mov eax, dword [eax + 0xc]
xor ecx, ecx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebx
mov esi, eax
mov ebx, edx
mov ebp, ecx
lea eax, [ebp + ebp*4]
mov eax, dword [esi + eax*4]
mov edx, edi
call fcn.0046c240
test eax, eax
jne 0x46fd91
inc ebp
cmp ebp, ebx
jl 0x46f8ad
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
xor ecx, ecx
mov dword [esp + 0x94], ecx
test edi, edi
je 0x46fd7e
movzx eax, word [edi + 2]
test ah, 0x20
jne 0x46fa2f
mov eax, dword [esp + 0x80]
mov edx, dword [edi + 8]
call fcn.004cdfe0
mov eax, dword [esp + 0x80]
mov edx, dword [edi + 0xc]
call fcn.004cdfe0
movzx eax, word [edi + 2]
mov edx, eax
and edx, 0x1000
cmp edx, 0x1000
je 0x46f92e
test byte [edi + 0x22], 1
jne 0x46fd66
mov edx, eax
and edx, 0x800
cmp edx, 0x800
je 0x46fd36
mov edx, dword [edi + 0x10]
mov dword [esp + 0x44], edx
test edx, edx
je 0x46fa2f
mov eax, edx
mov edx, dword [eax + 0xc]
cmp dword [eax], 0
jle 0x46fa0f
xor eax, eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebx
mov ebx, eax
mov esi, edx
mov ebp, dword [esp + 0x44]
mov edi, dword [esp + 0x80]
mov eax, edi
mov edx, dword [esi]
call fcn.004cdfe0
mov eax, dword [esi + 4]
test eax, eax
je 0x46f9bc
cmp eax, dword [edi + 0xf0]
jb 0x46fd2c
cmp eax, dword [edi + 0xf4]
jae 0x46fd2c
mov ecx, dword [edi + 0xec]
mov dword [eax], ecx
mov dword [edi + 0xec], eax
dec dword [edi + 0xe4]
mov eax, dword [esi + 8]
test eax, eax
je 0x46f9ef
cmp eax, dword [edi + 0xf0]
jb 0x46fd22
cmp eax, dword [edi + 0xf4]
jae 0x46fd22
mov ecx, dword [edi + 0xec]
mov dword [eax], ecx
mov dword [edi + 0xec], eax
dec dword [edi + 0xe4]
inc ebx
add esi, 0x14
cmp ebx, dword [ebp]
jl 0x46f980
mov edi, dword [esp + 0x40]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x44]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x80]
call fcn.004e33d8
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x44]
call fcn.004e33d8
movzx eax, word [edi + 2]
and eax, 0x4000
cmp eax, 0x4000
je 0x46fa55
mov eax, dword [esp + 0x80]
mov edx, edi
call fcn.004e33d8
cmp dword [esp + 0x94], 0
jg 0x46fa9b
jmp 0x46fa5f
cmp dword [esp + 0x94], 0
jg 0x46fa9b
mov eax, dword [esp + 0x90]
mov edi, dword [eax]
mov dword [esp + 0x84], 1
jmp 0x46fc7b
mov ecx, dword [ebp + 4]
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x88]
mov edx, dword [eax]
test ecx, ecx
jle 0x46feb7
cmp ecx, edx
jg 0x46feb7
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x7c], eax
movzx eax, word [ebp + 2]
mov edi, eax
and edi, 0x100
test ah, 0x20
jne 0x46fc08
mov eax, dword [esp + 0x80]
mov edx, dword [ebp + 8]
call fcn.004cdfe0
mov eax, dword [esp + 0x80]
mov edx, dword [ebp + 0xc]
call fcn.004cdfe0
movzx eax, word [ebp + 2]
mov edx, eax
and edx, 0x1000
cmp edx, 0x1000
je 0x46faf3
test byte [ebp + 0x22], 1
jne 0x46fe9f
mov edx, eax
and edx, 0x800
cmp edx, 0x800
je 0x46fe6f
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x70], edx
test edx, edx
je 0x46fc08
mov eax, edx
mov edx, dword [eax + 0xc]
cmp dword [eax], 0
jle 0x46fbe8
xor eax, eax
mov dword [esp + 0x6c], edi
mov dword [esp + 0x60], ebp
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], ebx
mov ebx, eax
mov esi, edx
mov ebp, dword [esp + 0x70]
mov edi, dword [esp + 0x80]
mov eax, edi
mov edx, dword [esi]
call fcn.004cdfe0
mov eax, dword [esi + 4]
test edi, edi
je 0x46fe66
test eax, eax
je 0x46fb89
cmp eax, dword [edi + 0xf0]
jb 0x46fe5c
cmp eax, dword [edi + 0xf4]
jae 0x46fe5c
mov ecx, dword [edi + 0xec]
mov dword [eax], ecx
mov dword [edi + 0xec], eax
dec dword [edi + 0xe4]
mov eax, dword [esi + 8]
test edi, edi
je 0x46fe53
test eax, eax
je 0x46fbc4
cmp eax, dword [edi + 0xf0]
jb 0x46fe49
cmp eax, dword [edi + 0xf4]
jae 0x46fe49
mov ecx, dword [edi + 0xec]
mov dword [eax], ecx
mov dword [edi + 0xec], eax
dec dword [edi + 0xe4]
inc ebx
add esi, 0x14
cmp ebx, dword [ebp]
jl 0x46fb45
mov edi, dword [esp + 0x6c]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x80]
call fcn.004e33d8
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x70]
call fcn.004e33d8
movzx eax, word [ebp + 2]
and eax, 0x4000
cmp eax, 0x4000
je 0x46fc22
mov eax, dword [esp + 0x80]
mov edx, ebp
call fcn.004e33d8
xor ebp, ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0xc], ebp
mov eax, dword [esp + 0x80]
mov edx, 0x81
lea ecx, [esp + 0x58]
call fcn.004e34a0
mov dword [ebx], eax
test eax, eax
je 0x46fe39
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x14], edx
or edi, 0xffff0400
or word [eax + 2], di
mov ecx, dword [esp + 0x94]
mov dword [eax + 4], ecx
mov word [ebx + 0xe], cx
mov byte [ebx + 0xd], 1
mov eax, dword [esp + 0x90]
mov edi, dword [eax]
inc esi
add ebx, 0x14
cmp esi, edi
jl 0x46f5e4
mov ebp, dword [esp + 0x84]
xor ecx, ecx
mov edx, dword [esp + 0x8c]
mov edx, dword [edx + 0x20]
test edx, edx
je 0x46fca6
test ebp, ebp
jne 0x46f5b7
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x54]
test edi, edi
jle 0x46fccd
mov edx, dword [esi + 0xc]
lea esi, [ecx + ecx*4]
movzx esi, byte [edx + esi*4 + 0xd]
test esi, esi
je 0x46fe29
inc ecx
cmp ecx, edi
jl 0x46fcb8
xor eax, eax
add esp, 0x98
pop ebx
pop ebp
pop esi
pop edi
ret
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
inc eax
mov dword [esp + 0x94], eax
je 0x46f7f1
test eax, eax
jg 0x46fa9b
jmp 0x46fa5f
mov ebx, edi
mov edi, dword [esp + 0x78]
jmp 0x46f7cd
movzx ebx, byte [edi]
movzx esi, byte [esi + 0x789b60]
movzx ebx, byte [ebx + 0x789b60]
jmp 0x46f7cd
call fcn.004c69c4
jmp 0x46f9ef
call fcn.004c69c4
jmp 0x46f9bc
mov edx, dword [edi + 0x10]
mov dword [esp + 0x34], edx
test edx, edx
je 0x46fa2f
mov eax, dword [esp + 0x80]
call fcn.004ce330
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x34]
call fcn.004e33d8
jmp 0x46fa2b
mov eax, dword [esp + 0x80]
mov edx, dword [edi + 4]
call fcn.004e33d8
movzx eax, word [edi + 2]
jmp 0x46f92e
cmp dword [esp + 0x94], 0
jg 0x46fa9b
jmp 0x46fa5f
mov ecx, ebp
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
inc ecx
jmp 0x46f8d6
mov eax, dword [esp + 0x54]
call fcn.00586130
jmp 0x46f8d4
mov dword [esp + 0x4c], esi
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x64]
mov ebx, dword [esp + 0x68]
cmp edi, 0xa
jg 0x46fe19
mov eax, dword [esp + 0x4c]
sub eax, edx
sbb ecx, 0
sub eax, 0x7fffffff
sbb ecx, 0
jl 0x46fde3
or eax, ecx
jne 0x46fe02
mov eax, dword [esp + 0x4c]
mov ecx, eax
neg ecx
test edx, edx
jne 0x46fdf1
mov ecx, eax
mov dword [esp + 0x94], ecx
mov eax, 1
jmp 0x46f722
mov dword [esp + 0x94], 0xffffffff
mov ecx, 0xffffffff
xor eax, eax
jmp 0x46f722
mov dword [esp + 0x94], 0xffffffff
jmp 0x46f71b
inc ecx
push ecx
push str._r_ORDER_BY_term_does_not_match_any_column_in_the_result_set
push eax
call fcn.005860f0
add esp, 0xc
mov eax, 1
add esp, 0x98
pop ebx
pop ebp
pop esi
pop edi
ret
call fcn.004c69c4
jmp 0x46fbc4
test eax, eax
jne 0x46fe49
jmp 0x46fbc4
call fcn.004c69c4
jmp 0x46fb89
test eax, eax
jne 0x46fe5c
jmp 0x46fb89
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x3c], edx
test edx, edx
je 0x46fc08
mov eax, dword [esp + 0x80]
call fcn.004ce330
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x3c]
call fcn.004e33d8
jmp 0x46fc04
mov eax, dword [esp + 0x80]
mov edx, dword [ebp + 4]
call fcn.004e33d8
movzx eax, word [ebp + 2]
jmp 0x46faf3
mov eax, dword [esp + 0x54]
inc esi
mov dword [esp + 0xc], edx
mov edx, str.ORDER
mov ecx, esi
call fcn.00588640
mov eax, 1
add esp, 0x98
pop ebx
pop ebp
pop esi
pop edi
ret
push str.too_many_terms_in_ORDER_BY_clause
push eax
call fcn.005860f0
add esp, 8
mov eax, 1
add esp, 0x98
pop ebx
pop ebp
pop esi
pop edi
ret