Function at 0x46ed30
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.0047d410
mov edi, eax
add esp, 4
test edi, edi
jne 0x46ed62
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
push esi
call fcn.0046f9b0
mov ebx, dword [esp + 0x54]
add esp, 4
test byte [ebx + 2], 0x20
jne 0x46ed82
push esi
call fcn.0046f150
add esp, 4
mov dword [esp + 0x10], eax
cmp byte [esi + 0x1d4], 2
jne 0x46eddf
mov al, byte [ebx]
mov ecx, str.LIST
cmp al, 0x48
je 0x46ed9b
mov ecx, str.SCALAR
mov eax, dword [esp + 0x10]
test eax, eax
mov eax, 0x5188e8
jge 0x46edad
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.004507a0
mov ecx, dword [esi + 0x1e4]
push 0xffffffffffffffff
push eax
push 0
push 0
push ecx
push 0x96
push edi
call fcn.0046c350
add esp, 0x30
cmp byte [ebx], 0x48
je 0x46ee83
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.0047cc60
mov al, byte [ebx]
add esp, 0xc
cmp al, 0x74
jne 0x46ee18
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x28], 6
push eax
push 0
push 0xa
jmp 0x46ee26
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0x28], 3
push ecx
push 0
push 7
push edi
call fcn.0046cd30
mov edx, dword [ebp + 0x48]
mov eax, dword [esi]
add esp, 0x10
push edx
push eax
call fcn.004637f0
push 0x4eee18
push 0
push 0
push 0x81
push esi
call fcn.0046ba10
lea ecx, [esp + 0x44]
mov dword [ebp + 0x48], eax
push ecx
push ebp
push esi
mov dword [ebp + 8], 0
call fcn.0047dfc0
add esp, 0x28
test eax, eax
je 0x46ee76
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 0x46f121
mov ebp, dword [esp + 0x54]
mov eax, dword [ebx + 8]
test ebp, ebp
mov dword [esp + 0x50], eax
je 0x46eea0
push ebp
push 0
push 0xa
push edi
call fcn.0046cd30
add esp, 0x10
mov ecx, dword [esp + 0x50]
push ecx
call fcn.0046e840
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.0046cd30
add esp, 0x14
mov dword [esp + 0x24], eax
test ebp, ebp
jne 0x46eee9
push 8
push edi
call fcn.0046d260
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], 0x519284
jne 0x46ef8e
mov ecx, dword [ebx + 0x18]
lea edx, [esp + 0x38]
push ecx
push 7
push edx
call fcn.0047cc60
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.0047dfc0
add esp, 0x18
test eax, eax
je 0x46ef5c
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 0x46f104
cmp dword [eax], 0
jle 0x46f104
mov edx, dword [eax + 8]
mov ecx, dword [ebx + 8]
mov eax, dword [edx]
push eax
push ecx
push esi
call fcn.0046e920
add esp, 0xc
mov dword [esp + 0x34], eax
jmp 0x46f104
mov ebp, dword [ebx + 0x10]
test ebp, ebp
je 0x46f104
mov al, byte [esp + 0x4c]
test al, al
jne 0x46efa6
mov byte [esp + 0x4c], 0x62
mov edx, dword [ebx + 8]
push edx
push esi
call fcn.0046e6b0
push esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], 0x519284
call fcn.0046cd70
push esi
mov dword [esp + 0x28], eax
call fcn.0046cd70
push eax
push 0
push 0xa
push edi
mov dword [esp + 0x70], eax
call fcn.0046cd30
mov eax, dword [ebp]
mov ecx, dword [ebp + 8]
add esp, 0x20
mov dword [esp + 0x54], ecx
test eax, eax
jle 0x46f0eb
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x10]
test eax, eax
mov ebp, dword [edx]
jl 0x46f025
push ebp
call fcn.0046e980
add esp, 4
test eax, eax
jne 0x46f025
mov eax, dword [esp + 0x10]
push eax
push edi
call fcn.004605c0
add esp, 8
mov dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 0x58]
test eax, eax
je 0x46f05a
lea ecx, [esp + 0x20]
push ecx
push ebp
call fcn.0046bf90
add esp, 8
test eax, eax
je 0x46f05a
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.0046c390
add esp, 0x14
jmp 0x46f0d1
mov edx, dword [esp + 0x18]
push edx
push ebp
push esi
call fcn.0046daf0
mov ebp, eax
mov eax, dword [esp + 0x64]
add esp, 0xc
test eax, eax
je 0x46f09d
push edi
call fcn.0046d850
add eax, 2
push eax
push ebp
push 0x15
push edi
call fcn.0046cd30
mov eax, dword [esp + 0x64]
mov ecx, dword [ebx + 0x18]
push ebp
push eax
push ecx
push 0x39
push edi
call fcn.0046c390
add esp, 0x28
jmp 0x46f0d1
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.0046c350
push 1
push ebp
push esi
call fcn.0046fbe0
mov ecx, dword [esp + 0x78]
mov edx, dword [ebx + 0x18]
push ecx
push edx
push 0x61
push edi
call fcn.0046cd30
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 0x46eff4
mov eax, dword [esp + 0x18]
push eax
push esi
call fcn.0046cda0
mov ecx, dword [esp + 0x58]
push ecx
push esi
call fcn.0046cda0
add esp, 0x10
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x46f121
mov eax, dword [esp + 0x24]
lea edx, [esp + 0x28]
push 0xfffffffffffffffa
push edx
push eax
push edi
call fcn.00460610
add esp, 0x10
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x46f133
push eax
push edi
call fcn.0046cd50
add esp, 8
push 1
push esi
call fcn.0046f9c0
mov eax, dword [esp + 0x24]
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret