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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x9c
mov eax, dword [0x101f1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [ecx + 0x78]
test eax, eax
cmove eax, ecx
cmp byte [eax + 0xd7], 2
je 0x10041d8c
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10157a00
add esp, 0x9c
pop esi
pop edi
pop ebx
pop ebp
ret
mov esi, ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x50]
mov dword [ebp - 0x9c], ecx
mov ebx, dword [ecx + 0x2c]
bt ebx, 0xd
jb 0x10041d77
mov edi, edx
movzx edx, word [ebp + 0xc]
test dl, 0x20
jne 0x10041d77
movzx eax, byte [eax + 0x3c]
lea eax, [eax + eax*8]
mov dword [ebp - 0xa0], eax
lea eax, [edi + eax*8]
add eax, 8
mov dword [ebp - 0x90], eax
mov ecx, dword [esi]
mov eax, ebx
mov byte [ebp - 0x98], 1
and eax, 0x30
mov dword [ebp - 0x94], eax
je 0x10041f20
mov edx, dword [esi + 8]
mov dword [ebp - 0xa8], edx
lea edx, [ebp - 0x74]
lea eax, [ebp - 0x8c]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov ecx, str.SEARCH
mov edx, str.SCAN
cmp byte [ebp - 0x98], 0
cmovne edx, ecx
mov dword [eax + 8], 0x64
mov dword [eax + 0xc], 0x3b9aca00
mov dword [eax + 0x10], 0
mov word [eax + 0x14], 0x100
push dword [ebp - 0x90]
push edx
push str._s__S
push eax
call fcn.1006fd30
add esp, 0x10
test ebx, 0x500
je 0x10041f46
bt ebx, 8
jae 0x10041f8f
mov eax, ebx
and eax, 0xf
je 0x10041f8f
push 0x101d0ed7
push str._USING_INTEGER_PRIMARY_KEY___s
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 0xc
mov eax, 0x3d
test bl, 5
je 0x100420e8
push eax
push str._c__
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 0xc
mov eax, dword [ebp - 0xa0]
test byte [edi + eax*8 + 0x2c], 8
je 0x10041eba
push str._LEFT_JOIN
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 8
mov eax, dword [ebp - 0x88]
test eax, eax
je 0x10041ee6
mov ecx, dword [ebp - 0x7c]
mov byte [eax + ecx], 0
cmp dword [ebp - 0x80], 0
je 0x10041ee6
test byte [ebp - 0x77], 4
jne 0x10041ee6
lea ecx, [ebp - 0x8c]
call fcn.10068de0
mov edi, eax
jmp 0x10041eec
mov edi, dword [ebp - 0x88]
mov ebx, dword [ebp - 0xa8]
mov ecx, ebx
mov edx, 0xb9
push 0
push dword [esi + 0xe4]
push dword [ebx + 0x6c]
call fcn.10030110
add esp, 0xc
mov ecx, ebx
mov edx, eax
push 0xfffffffffffffffa
push edi
call fcn.1003a6c0
add esp, 8
jmp 0x10041d77
bt ebx, 0xa
jb 0x10041f37
mov eax, dword [ebp - 0x9c]
cmp word [eax + 0x18], 0
jne 0x10041de1
test dl, 3
setne byte [ebp - 0x98]
jmp 0x10041de1
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [edi + eax*8 + 0x18]
test byte [eax + 0x1c], 0x80
je 0x10041fbe
mov eax, dword [ebp - 0x94]
mov eax, dword [eax + 0x38]
and eax, 3
cmp eax, 2
jne 0x10041fbe
mov dword [ebp - 0x90], 0x101d2728
cmp byte [ebp - 0x98], 0
je 0x10041e99
jmp 0x10041ff4
bt ebx, 0xa
jae 0x10041e99
mov eax, dword [ebp - 0x9c]
push dword [eax + 0x24]
push dword [eax + 0x18]
push str._VIRTUAL_TABLE_INDEX__d:_s
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 0x10
jmp 0x10041e99
mov dword [ebp - 0x90], str.AUTOMATIC_PARTIAL_COVERING_INDEX
bt ebx, 0x11
jb 0x10041ff4
mov dword [ebp - 0x90], str.AUTOMATIC_COVERING_INDEX
bt ebx, 0xe
jb 0x10041ff4
test bl, 0x40
mov eax, 0x101ccc1e
mov ecx, str.COVERING_INDEX__s
cmove ecx, eax
mov dword [ebp - 0x90], ecx
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 7]
cmp ecx, dword [ebp - 0x84]
jae 0x1004201c
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov dword [ecx + eax + 3], 0x20474e49
mov dword [ecx + eax], 0x49535520
jmp 0x10042031
lea ecx, [ebp - 0x8c]
mov edx, str._USING
push 7
call fcn.10069100
add esp, 4
mov eax, dword [ebp - 0x94]
push dword [eax]
push dword [ebp - 0x90]
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 0xc
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x20]
mov dword [ebp - 0x90], ecx
movzx ecx, word [eax + 0x18]
movzx eax, word [eax + 0x32]
mov dword [ebp - 0xa4], eax
mov dword [ebp - 0x94], ecx
test ecx, ecx
je 0x100420d7
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 2]
cmp ecx, dword [ebp - 0x84]
jae 0x10042094
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov word [ecx + eax], 0x2820
jmp 0x100420a9
lea ecx, [ebp - 0x8c]
mov edx, 0x101e1106
push 2
call fcn.10069100
add esp, 4
cmp dword [ebp - 0x94], 0
je 0x10042224
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 4]
movzx eax, word [eax]
cmp eax, 0xfffe
je 0x10042118
cmp eax, 0xffff
jne 0x1004211f
mov eax, 0x101d0ed7
jmp 0x10042132
mov eax, dword [ebp - 0x9c]
test byte [eax + 0x2c], 0x30
jne 0x10042075
jmp 0x10041e99
cmp dword [ebp - 0x94], 0x30
jne 0x1004227b
push 0x101d0ed7
push str.___AND__s
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 0xc
mov eax, 0x3c
jmp 0x10041e84
mov eax, str._expr_
jmp 0x10042132
cwde
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
shl eax, 4
mov eax, dword [ecx + eax]
cmp dword [ebp - 0xa4], 0
mov ecx, str._s_
mov edx, str.ANY__s_
cmove edx, ecx
push eax
push edx
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 0xc
cmp word [ebp - 0x94], 1
je 0x10042224
xor ebx, ebx
inc ebx
mov eax, dword [ebp - 0x90]
mov eax, dword [eax + 4]
movzx eax, word [eax + ebx*2]
cmp eax, 0xfffe
je 0x1004218f
cmp eax, 0xffff
jne 0x1004219b
mov dword [ebp - 0x98], 0x101d0ed7
jmp 0x100421b4
mov dword [ebp - 0x98], str._expr_
jmp 0x100421b4
cwde
mov ecx, dword [ebp - 0x90]
mov ecx, dword [ecx + 0xc]
mov ecx, dword [ecx + 4]
shl eax, 4
mov eax, dword [ecx + eax]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 5]
cmp ecx, dword [ebp - 0x84]
jae 0x100421d9
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov byte [ecx + eax + 4], 0x20
mov dword [ecx + eax], 0x444e4120
jmp 0x100421ee
lea ecx, [ebp - 0x8c]
mov edx, str._AND
push 5
call fcn.10069100
add esp, 4
cmp ebx, dword [ebp - 0xa4]
mov eax, str._s_
mov ecx, str.ANY__s_
cmovb eax, ecx
push dword [ebp - 0x98]
push eax
lea eax, [ebp - 0x8c]
push eax
call fcn.1006fd30
add esp, 0xc
inc ebx
cmp dword [ebp - 0x94], ebx
jne 0x10042168
mov eax, dword [ebp - 0x9c]
mov ecx, dword [eax + 0x2c]
mov eax, dword [ebp - 0x94]
test cl, 0x20
jne 0x1004228b
test cl, 0x10
jne 0x100422cd
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 1]
cmp ecx, dword [ebp - 0x84]
jae 0x10042261
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x88]
mov byte [ecx + eax], 0x29
jmp 0x10041e99
lea ecx, [ebp - 0x8c]
mov edx, 0x101e10f2
push 1
call fcn.10069100
add esp, 4
jmp 0x10041e99
and ebx, 0x20
shr ebx, 4
or ebx, 0x3c
mov eax, ebx
jmp 0x10041e84
mov ebx, dword [ebp - 0x9c]
movzx eax, word [ebx + 0x1a]
mov dword [ebp - 0x98], eax
lea ecx, [ebp - 0x8c]
mov edx, dword [ebp - 0x90]
push 0x101d9656
mov eax, dword [ebp - 0x94]
push eax
push eax
push dword [ebp - 0x98]
call fcn.10177080
add esp, 0x10
mov ecx, dword [ebx + 0x2c]
xor eax, eax
inc eax
jmp 0x10042238
mov ecx, dword [ebp - 0x9c]
movzx ebx, word [ecx + 0x1c]
lea ecx, [ebp - 0x8c]
mov edx, dword [ebp - 0x90]
push 0x101d97d5
push eax
push dword [ebp - 0x94]
push ebx
call fcn.10177080
add esp, 0x10
jmp 0x10042241