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

Disassembly:
sub esp, 0x38
push ebx
push ebp
push esi
mov esi, dword [esp + 0x48]
push edi
push esi
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 0x20], 0
call fcn.0047d350
mov edi, eax
add esp, 4
test edi, edi
jne 0x46eca2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push esi
call fcn.0046f8f0
mov ebx, dword [esp + 0x54]
add esp, 4
test byte [ebx + 2], 0x20
jne 0x46ecc2
push esi
call fcn.0046f090
add esp, 4
mov dword [esp + 0x10], eax
cmp byte [esi + 0x1d4], 2
jne 0x46ed1f
mov al, byte [ebx]
mov ecx, str.LIST
cmp al, 0x48
je 0x46ecdb
mov ecx, str.SCALAR
mov eax, dword [esp + 0x10]
test eax, eax
mov eax, 0x518908
jge 0x46eced
mov eax, str.CORRELATED
mov edx, dword [esi + 0x1e8]
push edx
push ecx
push eax
mov eax, dword [esi]
push str.EXECUTE__s_s_SUBQUERY__d
push eax
call fcn.004506e0
mov ecx, dword [esi + 0x1e4]
push 0xffffffffffffffff
push eax
push 0
push 0
push ecx
push 0x96
push edi
call fcn.0046c290
add esp, 0x30
cmp byte [ebx], 0x48
je 0x46edc3
mov eax, dword [esi + 0x4c]
mov ebp, dword [ebx + 0x10]
inc eax
lea edx, [esp + 0x28]
push eax
push 0
push edx
mov dword [esi + 0x4c], eax
call fcn.0047cba0
mov al, byte [ebx]
add esp, 0xc
cmp al, 0x74
jne 0x46ed58
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x28], 6
push eax
push 0
push 0xa
jmp 0x46ed66
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x28], 3
push ecx
push 0
push 7
push edi
call fcn.0046cc70
mov edx, dword [ebp + 0x48]
mov eax, dword [esi]
add esp, 0x10
push edx
push eax
call fcn.00463730
push 0x4eee18
push 0
push 0
push 0x81
push esi
call fcn.0046b950
lea ecx, [esp + 0x44]
mov dword [ebp + 0x48], eax
push ecx
push ebp
push esi
mov dword [ebp + 8], 0
call fcn.0047df00
add esp, 0x28
test eax, eax
je 0x46edb6
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], edx
jmp 0x46f061
mov ebp, dword [esp + 0x54]
mov eax, dword [ebx + 8]
test ebp, ebp
mov dword [esp + 0x50], eax
je 0x46ede0
push ebp
push 0
push 0xa
push edi
call fcn.0046cc70
add esp, 0x10
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0046e780
mov edx, dword [esi + 0x48]
mov byte [esp + 0x50], al
mov dword [ebx + 0x18], edx
mov eax, dword [esi + 0x48]
mov edx, dword [esp + 0x5c]
inc eax
mov dword [esi + 0x48], eax
mov ecx, dword [ebx + 0x18]
xor eax, eax
test edx, edx
sete al
push eax
push ecx
push 0x2a
push edi
call fcn.0046cc70
add esp, 0x14
mov dword [esp + 0x24], eax
test ebp, ebp
jne 0x46ee29
push 8
push edi
call fcn.0046d1a0
add esp, 8
mov ax, word [ebx + 2]
xor edx, edx
mov dword [esp + 0x28], edx
and eax, 0x800
mov dword [esp + 0x2c], edx
cmp eax, 0x800
mov dword [esp + 0x30], edx
mov word [esp + 0x2e], 1
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], 0x5192a4
jne 0x46eece
mov ecx, dword [ebx + 0x18]
lea edx, [esp + 0x38]
push ecx
push 7
push edx
call fcn.0047cba0
mov al, byte [esp + 0x58]
mov ecx, dword [ebx + 0x10]
mov byte [esp + 0x45], al
lea edx, [esp + 0x44]
mov dword [ecx + 8], 0
mov eax, dword [ebx + 0x10]
push edx
push eax
push esi
call fcn.0047df00
add esp, 0x18
test eax, eax
je 0x46ee9c
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx]
test eax, eax
je 0x46f044
cmp dword [eax], 0
jle 0x46f044
mov edx, dword [eax + 8]
mov ecx, dword [ebx + 8]
mov eax, dword [edx]
push eax
push ecx
push esi
call fcn.0046e860
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x46f044
mov ebp, dword [ebx + 0x10]
test ebp, ebp
je 0x46f044
mov al, byte [esp + 0x4c]
test al, al
jne 0x46eee6
mov byte [esp + 0x4c], 0x62
mov edx, dword [ebx + 8]
push edx
push esi
call fcn.0046e5f0
push esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], 0x5192a4
call fcn.0046ccb0
push esi
mov dword [esp + 0x28], eax
call fcn.0046ccb0
push eax
push 0
push 0xa
push edi
mov dword [esp + 0x70], eax
call fcn.0046cc70
mov eax, dword [ebp]
mov ecx, dword [ebp + 8]
add esp, 0x20
mov dword [esp + 0x54], ecx
test eax, eax
jle 0x46f02b
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
test eax, eax
mov ebp, dword [edx]
jl 0x46ef65
push ebp
call fcn.0046e8c0
add esp, 4
test eax, eax
jne 0x46ef65
mov eax, dword [esp + 0x10]
push eax
push edi
call fcn.00460500
add esp, 8
mov dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 0x58]
test eax, eax
je 0x46ef9a
lea ecx, [esp + 0x20]
push ecx
push ebp
call fcn.0046bed0
add esp, 8
test eax, eax
je 0x46ef9a
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x50]
mov ecx, dword [ebx + 0x18]
push edx
push eax
push ecx
push 0x3a
push edi
call fcn.0046c2d0
add esp, 0x14
jmp 0x46f011
mov edx, dword [esp + 0x18]
push edx
push ebp
push esi
call fcn.0046da30
mov ebp, eax
mov eax, dword [esp + 0x64]
add esp, 0xc
test eax, eax
je 0x46efdd
push edi
call fcn.0046d790
add eax, 2
push eax
push ebp
push 0x15
push edi
call fcn.0046cc70
mov eax, dword [esp + 0x64]
mov ecx, dword [ebx + 0x18]
push ebp
push eax
push ecx
push 0x39
push edi
call fcn.0046c2d0
add esp, 0x28
jmp 0x46f011
mov eax, dword [esp + 0x50]
lea edx, [esp + 0x4c]
push 1
push edx
push eax
push 1
push ebp
push 0x1f
push edi
call fcn.0046c290
push 1
push ebp
push esi
call fcn.0046fb20
mov ecx, dword [esp + 0x78]
mov edx, dword [ebx + 0x18]
push ecx
push edx
push 0x61
push edi
call fcn.0046cc70
add esp, 0x38
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
add ecx, 0x14
dec eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x14], eax
jne 0x46ef34
mov eax, dword [esp + 0x18]
push eax
push esi
call fcn.0046cce0
mov ecx, dword [esp + 0x58]
push ecx
push esi
call fcn.0046cce0
add esp, 0x10
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x46f061
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push 0xfffffffffffffffa
push edx
push eax
push edi
call fcn.00460550
add esp, 0x10
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x46f073
push eax
push edi
call fcn.0046cc90
add esp, 8
push 1
push esi
call fcn.0046f900
mov eax, dword [esp + 0x24]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret